From 111b241473ceeecee1f1c232d3c9879fb850361d Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Thu, 2 Dec 2021 14:29:06 -0800 Subject: fixes #1541 bug in nni_chunk_insert --- src/core/message.c | 2 +- src/core/message_test.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/core/message.c b/src/core/message.c index 2ff2d6da..b819daf7 100644 --- a/src/core/message.c +++ b/src/core/message.c @@ -273,7 +273,7 @@ nni_chunk_insert(nni_chunk *ch, const void *data, size_t len) ch->ch_ptr -= len; } else if ((ch->ch_len + len) <= ch->ch_cap) { // We had enough capacity, just shuffle data down. - memmove(ch->ch_ptr + len, ch->ch_ptr, ch->ch_len); + memmove(ch->ch_buf + len, ch->ch_ptr, ch->ch_len); } else if ((rv = nni_chunk_grow(ch, 0, len)) == 0) { // We grew the chunk, so adjust. ch->ch_ptr -= len; diff --git a/src/core/message_test.c b/src/core/message_test.c index 0f920499..b3887b10 100644 --- a/src/core/message_test.c +++ b/src/core/message_test.c @@ -62,8 +62,9 @@ test_msg_insert_body(void) NUTS_PASS(nng_msg_alloc(&msg, 0)); NUTS_PASS(nng_msg_append(msg, "xyz", 4)); NUTS_PASS(nng_msg_insert(msg, "uvw", 3)); - NUTS_ASSERT(nng_msg_len(msg) == 7); - NUTS_ASSERT(strcmp(nng_msg_body(msg), "uvwxyz") == 0); + NUTS_PASS(nng_msg_insert(msg, "st", 2)); + NUTS_ASSERT(nng_msg_len(msg) == 9); + NUTS_ASSERT(strcmp(nng_msg_body(msg), "stuvwxyz") == 0); nng_msg_free(msg); } -- cgit v1.2.3-70-g09d2