diff options
author | David Goulet <dgoulet@torproject.org> | 2022-04-14 09:34:49 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2022-04-14 09:34:49 -0400 |
commit | b33f69abb54d06b324301977e87171d5902a39bf (patch) | |
tree | 4dcaad819c29d7ad1fe574ac54054ef6d28e6d6f | |
parent | b4890e753459bb1aeb1c258e98fdb2c598bb1369 (diff) | |
parent | 9ac479ce1c20fd2e58528900b54d5b81bedb641d (diff) | |
download | tor-b33f69abb54d06b324301977e87171d5902a39bf.tar.gz tor-b33f69abb54d06b324301977e87171d5902a39bf.zip |
Merge branch 'maint-0.4.5' into maint-0.4.6
-rw-r--r-- | changes/bug40472 | 6 | ||||
-rw-r--r-- | src/feature/dircommon/consdiff.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug40472 b/changes/bug40472 new file mode 100644 index 0000000000..d87c1dc2cc --- /dev/null +++ b/changes/bug40472 @@ -0,0 +1,6 @@ + o Minor bugfixes (performance, DoS): + - Fix one case of a not-especially viable denial-of-service attack found + by OSS-Fuzz in our consensus-diff parsing code. This attack causes a + lot small of memory allocations and then immediately frees them: this + is only slow when running with all the sanitizers enabled. Fixes one + case of bug 40472; bugfix on 0.3.1.1-alpha. diff --git a/src/feature/dircommon/consdiff.c b/src/feature/dircommon/consdiff.c index c877227adc..323f2bd576 100644 --- a/src/feature/dircommon/consdiff.c +++ b/src/feature/dircommon/consdiff.c @@ -1128,7 +1128,7 @@ consdiff_get_digests(const smartlist_t *diff, { const cdline_t *line2 = smartlist_get(diff, 1); char *h = tor_memdup_nulterm(line2->s, line2->len); - smartlist_split_string(hash_words, h, " ", 0, 0); + smartlist_split_string(hash_words, h, " ", 0, 4); tor_free(h); } |