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,9 +366,14 @@ ssize_t nghttp2_bufs_remove(nghttp2_bufs *bufs, uint8_t **out)
len += nghttp2_buf_len(&chain->buf);
}
res = malloc(len);
if(res == NULL) {
return NGHTTP2_ERR_NOMEM;
if(!len) {
res = NULL;
} else {
res = malloc(len);
if(res == NULL) {
return NGHTTP2_ERR_NOMEM;
}
}
nghttp2_buf_wrap_init(&resbuf, res, len);

View File

@ -671,14 +671,18 @@ int nghttp2_frame_unpack_goaway_payload2(nghttp2_goaway *frame,
payloadlen -= var_gift_payloadlen;
var_gift_payload = malloc(var_gift_payloadlen);
if(!var_gift_payloadlen) {
var_gift_payload = NULL;
} else {
var_gift_payload = malloc(var_gift_payloadlen);
if(var_gift_payload == NULL) {
return NGHTTP2_ERR_NOMEM;
if(var_gift_payload == NULL) {
return NGHTTP2_ERR_NOMEM;
}
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,
var_gift_payload, var_gift_payloadlen);