diff options
Diffstat (limited to 'src/protocol.c')
-rw-r--r-- | src/protocol.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/protocol.c b/src/protocol.c index 301e884..5388f52 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -711,12 +711,14 @@ prne_htbt_ser_rc_t prne_htbt_dser_cmd (const uint8_t *data, const size_t len, si return PRNE_HTBT_SER_RC_MORE_BUF; } - mem = (char*)prne_malloc(1, args_len); - if (mem == NULL) { - ret = PRNE_HTBT_SER_RC_ERRNO; - goto END; + if (args_len > 0) { + mem = (char*)prne_malloc(1, args_len); + if (mem == NULL) { + ret = PRNE_HTBT_SER_RC_ERRNO; + goto END; + } + memcpy(mem, data + 2, args_len); } - memcpy(mem, data + 2, args_len); saved_errno = errno; errno = 0; |