aboutsummaryrefslogtreecommitdiff
path: root/src/protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocol.c')
-rw-r--r--src/protocol.c12
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;