diff options
author | Lukas Larsson <[email protected]> | 2016-04-19 11:26:03 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-04-26 16:02:44 +0200 |
commit | d8371a0598ee7c831e8f096cfd5b0af0a0503474 (patch) | |
tree | e351126fafcf8af24f41d387f14d52394bead425 /erts/emulator/test/port_trace_SUITE_data | |
parent | 0547610c0bd1fb0de4352fc8322094722145d9d1 (diff) | |
download | otp-d8371a0598ee7c831e8f096cfd5b0af0a0503474.tar.gz otp-d8371a0598ee7c831e8f096cfd5b0af0a0503474.tar.bz2 otp-d8371a0598ee7c831e8f096cfd5b0af0a0503474.zip |
erts: Expand trace tests for refc binaries
Make sure to cover all of the refc binary cases in tracing
Diffstat (limited to 'erts/emulator/test/port_trace_SUITE_data')
-rw-r--r-- | erts/emulator/test/port_trace_SUITE_data/echo_drv.c | 4 |
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; } |