mirror of
https://github.com/cesanta/mongoose.git
synced 2024-11-25 11:39:01 +08:00
Fix mbuf_resize(0)
PUBLISHED_FROM=7cab7543db990f7f67b53edca4f65ba45b219711
This commit is contained in:
parent
ffa0ddfdbf
commit
1a6bc7c514
13
mongoose.c
13
mongoose.c
@ -143,11 +143,14 @@ void mbuf_free(struct mbuf *mbuf) {
|
||||
}
|
||||
|
||||
void mbuf_resize(struct mbuf *a, size_t new_size) {
|
||||
char *p;
|
||||
if ((new_size > a->size || (new_size < a->size && new_size >= a->len)) &&
|
||||
(p = (char *) MBUF_REALLOC(a->buf, new_size)) != NULL) {
|
||||
a->size = new_size;
|
||||
a->buf = p;
|
||||
if (new_size > a->size || (new_size < a->size && new_size >= a->len)) {
|
||||
a->buf = (char *) MBUF_REALLOC(a->buf, new_size);
|
||||
/*
|
||||
* In case realloc fails, there's not much we can do except set size to 0.
|
||||
* Note that NULL is a valid return value from realloc when size == 0, but
|
||||
* that is covered too.
|
||||
*/
|
||||
a->size = (a->buf != NULL ? new_size : 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user