mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
Do not leave empty, invalid chunks in buffers during buf_pullup
This fixes an assertion failure bug in 15083; bugfix on 0.2.0.10-alpha. Patch from 'cypherpunks'
This commit is contained in:
parent
c3f8f5ab0e
commit
71ee53fe9b
6
changes/bug15083
Normal file
6
changes/bug15083
Normal file
@ -0,0 +1,6 @@
|
||||
o Major bugfixes (relay, stability):
|
||||
- Fix a bug that could lead to a relay crashing with an assertion
|
||||
failure if a buffer of exactly the wrong layout was passed
|
||||
to buf_pullup() at exactly the wrong time. Fixes bug 15083;
|
||||
bugfix on 0.2.0.10-alpha. Patch from 'cypherpunks'.
|
||||
|
@ -426,7 +426,7 @@ buf_pullup(buf_t *buf, size_t bytes, int nulterminate)
|
||||
size_t n = bytes - dest->datalen;
|
||||
src = dest->next;
|
||||
tor_assert(src);
|
||||
if (n > src->datalen) {
|
||||
if (n >= src->datalen) {
|
||||
memcpy(CHUNK_WRITE_PTR(dest), src->data, src->datalen);
|
||||
dest->datalen += src->datalen;
|
||||
dest->next = src->next;
|
||||
|
Loading…
Reference in New Issue
Block a user