Fix double-free bug in microdesc parser

This commit is contained in:
cypherpunks 2011-04-27 11:10:56 -07:00 committed by Nick Mathewson
parent 0f48e8fa9a
commit 247cbab6c8
2 changed files with 8 additions and 0 deletions

View File

@ -0,0 +1,7 @@
o Security fixes:
- Don't double-free a parsable, but invalid, microdescriptor, even
if it is followed in the blob we're parsing by an unparsable
microdescriptor. Fixes an issue reported in a comment on bug 2954.
Bugfix on 0.2.2.6-alpha; fix by "cypherpunks".

View File

@ -4357,6 +4357,7 @@ microdescs_parse_from_string(const char *s, const char *eos,
md = NULL; md = NULL;
next: next:
microdesc_free(md); microdesc_free(md);
md = NULL;
memarea_clear(area); memarea_clear(area);
smartlist_clear(tokens); smartlist_clear(tokens);