1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

fix buffer overflow in web_buffer

This commit is contained in:
Steffen Vogel 2017-04-18 01:36:16 +02:00
parent 23d0172c94
commit 3d26464ee7

View file

@ -115,8 +115,8 @@ int web_buffer_append(struct web_buffer *b, const char *in, size_t len)
}
memcpy(b->buffer + b->prefix + b->len, in, len);
b->buffer[b->prefix + b->len + len - 1] = 0;
b->len += len;
b->buffer[b->len+b->prefix] = 0;
return 0;
}
@ -126,7 +126,7 @@ int web_buffer_append_json(struct web_buffer *b, json_t *res)
size_t len;
assert(b->state == STATE_INITIALIZED);
retry: len = json_dumpb(res, b->buffer + b->prefix + b->len, b->size - b->len, 0) + 1;
if (b->size < b->len + len) {
b->buffer = realloc(b->buffer, b->prefix + b->len + len);
@ -137,8 +137,8 @@ retry: len = json_dumpb(res, b->buffer + b->prefix + b->len, b->size - b->len, 0
goto retry;
}
b->buffer[b->prefix + b->len + len - 1] = 0;
b->len += len;
b->buffer[b->len+b->prefix] = 0;
return 0;
}