diff options
| author | Garrett D'Amore <garrett@damore.org> | 2021-12-02 14:29:06 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2021-12-02 14:33:21 -0800 |
| commit | 111b241473ceeecee1f1c232d3c9879fb850361d (patch) | |
| tree | c1f7af8f05973e1ce47213f18bce9db5a10109c5 | |
| parent | e792d31b4a3b04658108e59edeab78495ac6b5a8 (diff) | |
| download | nng-111b241473ceeecee1f1c232d3c9879fb850361d.tar.gz nng-111b241473ceeecee1f1c232d3c9879fb850361d.tar.bz2 nng-111b241473ceeecee1f1c232d3c9879fb850361d.zip | |
fixes #1541 bug in nni_chunk_insert
| -rw-r--r-- | src/core/message.c | 2 | ||||
| -rw-r--r-- | 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); } |
