mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-06 16:10:13 +07:00
fix iobuf shrink to less than current len
This commit is contained in:
@@ -2608,6 +2608,7 @@ int mg_iobuf_resize(struct mg_iobuf *io, size_t new_size) {
|
||||
mg_free(io->buf);
|
||||
io->buf = (unsigned char *) p;
|
||||
io->size = new_size;
|
||||
io->len = len;
|
||||
} else {
|
||||
ok = 0;
|
||||
MG_ERROR(("%lld->%lld", (uint64_t) io->size, (uint64_t) new_size));
|
||||
|
||||
@@ -25,6 +25,7 @@ int mg_iobuf_resize(struct mg_iobuf *io, size_t new_size) {
|
||||
mg_free(io->buf);
|
||||
io->buf = (unsigned char *) p;
|
||||
io->size = new_size;
|
||||
io->len = len;
|
||||
} else {
|
||||
ok = 0;
|
||||
MG_ERROR(("%lld->%lld", (uint64_t) io->size, (uint64_t) new_size));
|
||||
|
||||
@@ -322,6 +322,8 @@ static void test_iobuf(void) {
|
||||
mg_iobuf_add(&io, io.len, "a", 1);
|
||||
ASSERT(io.buf != NULL && io.size == 20 && io.len == 11);
|
||||
ASSERT(memcmp(io.buf, "xhi!123456a", io.len) == 0);
|
||||
mg_iobuf_resize(&io, 1);
|
||||
ASSERT(io.buf != NULL && io.size == 10 && io.len == 10);
|
||||
mg_iobuf_free(&io);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user