aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test/port_trace_SUITE_data/echo_drv.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-05-03 10:07:27 +0200
committerLukas Larsson <[email protected]>2016-05-03 10:07:27 +0200
commit8fcc73cd8d19fe362f929c9cb0d96579a2ed4ee5 (patch)
tree32c3d1b27c5ee4801958f58b449e8fafae19153f /erts/emulator/test/port_trace_SUITE_data/echo_drv.c
parent94e70f82df417d9e673a13d101007d7ae8932df7 (diff)
parent80512854940a6db33152717246a34bbe68aaa8ed (diff)
downloadotp-8fcc73cd8d19fe362f929c9cb0d96579a2ed4ee5.tar.gz
otp-8fcc73cd8d19fe362f929c9cb0d96579a2ed4ee5.tar.bz2
otp-8fcc73cd8d19fe362f929c9cb0d96579a2ed4ee5.zip
Merge branch 'lukas/erts/tracing/misc_fixes/OTP-13503'
* lukas/erts/tracing/misc_fixes/OTP-13503: erts: Add test for new procs trace with spawn_link kernel: Remove seq_trace event order dep in tc erts: Add tests for set on link tracing erts: Expand trace tests for refc binaries erts: Remove erl_tracer with invalid state erts: Remove some dead code erts: Fix broken doc link to erl_tracer Conflicts: erts/emulator/beam/erl_trace.c
Diffstat (limited to 'erts/emulator/test/port_trace_SUITE_data/echo_drv.c')
-rw-r--r--erts/emulator/test/port_trace_SUITE_data/echo_drv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/erts/emulator/test/port_trace_SUITE_data/echo_drv.c b/erts/emulator/test/port_trace_SUITE_data/echo_drv.c
index b5728bc170..b5ae9389b4 100644
--- a/erts/emulator/test/port_trace_SUITE_data/echo_drv.c
+++ b/erts/emulator/test/port_trace_SUITE_data/echo_drv.c
@@ -217,6 +217,8 @@ static ErlDrvSSizeT echo_drv_control(ErlDrvData drv_data,
char *buf, ErlDrvSizeT len,
char **rbuf, ErlDrvSizeT rlen)
{
+ if ((len - 1) > rlen)
+ *rbuf = driver_alloc(len - 1);
memcpy(*rbuf, buf+1, len-1);
return len-1;
}
@@ -232,6 +234,8 @@ static ErlDrvSSizeT echo_drv_call(ErlDrvData drv_data,
char **rbuf, ErlDrvSizeT rlen,
unsigned int *flags)
{
+ if ((len - command) > rlen)
+ *rbuf = driver_alloc(len - command);
memcpy(*rbuf, buf+command, len-command);
return len-command;
}