Loading changes/md_leak_bug 0 → 100644 +5 −0 Original line number Diff line number Diff line o Major bugfixes (security, OOM) - Fix a memory leak that could occur if a microdescriptor parse fails during the tokenizing step. This could enable a memory exhaustion attack by directory servers. Fixes bug #11649; bugfix on 0.2.2.6-alpha. src/or/routerparse.c +2 −0 Original line number Diff line number Diff line Loading @@ -4129,11 +4129,13 @@ microdescs_parse_from_string(const char *s, const char *eos, microdesc_free(md); md = NULL; SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_clear(area); smartlist_clear(tokens); s = start_of_next_microdesc; } SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_drop_all(area); smartlist_free(tokens); Loading Loading
changes/md_leak_bug 0 → 100644 +5 −0 Original line number Diff line number Diff line o Major bugfixes (security, OOM) - Fix a memory leak that could occur if a microdescriptor parse fails during the tokenizing step. This could enable a memory exhaustion attack by directory servers. Fixes bug #11649; bugfix on 0.2.2.6-alpha.
src/or/routerparse.c +2 −0 Original line number Diff line number Diff line Loading @@ -4129,11 +4129,13 @@ microdescs_parse_from_string(const char *s, const char *eos, microdesc_free(md); md = NULL; SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_clear(area); smartlist_clear(tokens); s = start_of_next_microdesc; } SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t)); memarea_drop_all(area); smartlist_free(tokens); Loading