Fix 0 size malloc

This commit is contained in:
Tatsuhiro Tsujikawa 2014-04-30 22:09:02 +09:00
parent d2e64317ba
commit ab634853df
2 changed files with 17 additions and 8 deletions

View File

@ -366,10 +366,15 @@ ssize_t nghttp2_bufs_remove(nghttp2_bufs *bufs, uint8_t **out)
len += nghttp2_buf_len(&chain->buf); len += nghttp2_buf_len(&chain->buf);
} }
if(!len) {
res = NULL;
} else {
res = malloc(len); res = malloc(len);
if(res == NULL) { if(res == NULL) {
return NGHTTP2_ERR_NOMEM; return NGHTTP2_ERR_NOMEM;
} }
}
nghttp2_buf_wrap_init(&resbuf, res, len); nghttp2_buf_wrap_init(&resbuf, res, len);

View File

@ -671,6 +671,9 @@ int nghttp2_frame_unpack_goaway_payload2(nghttp2_goaway *frame,
payloadlen -= var_gift_payloadlen; payloadlen -= var_gift_payloadlen;
if(!var_gift_payloadlen) {
var_gift_payload = NULL;
} else {
var_gift_payload = malloc(var_gift_payloadlen); var_gift_payload = malloc(var_gift_payloadlen);
if(var_gift_payload == NULL) { if(var_gift_payload == NULL) {
@ -678,6 +681,7 @@ int nghttp2_frame_unpack_goaway_payload2(nghttp2_goaway *frame,
} }
memcpy(var_gift_payload, payload + 8, var_gift_payloadlen); memcpy(var_gift_payload, payload + 8, var_gift_payloadlen);
}
nghttp2_frame_unpack_goaway_payload(frame, payload, payloadlen, nghttp2_frame_unpack_goaway_payload(frame, payload, payloadlen,
var_gift_payload, var_gift_payloadlen); var_gift_payload, var_gift_payloadlen);