commit 781d69f3a7e1c9d70120cda970b203dea4180b99 Author: Nick Mathewson nickm@torproject.org Date: Thu Apr 11 17:51:11 2019 -0400
Make it clear to coverity we aren't leaking in protover_all_supported()
The logic here should be "use versions or free it". The "free it" part was previously in a kind of obfuscated place, so coverity wasn't sure it was invoked as appropriate. CID 1437436. --- src/core/or/protover.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/core/or/protover.c b/src/core/or/protover.c index 53709ad00..1edf78ec8 100644 --- a/src/core/or/protover.c +++ b/src/core/or/protover.c @@ -820,6 +820,8 @@ protover_all_supported(const char *s, char **missing_out) * ones and, if so, add them to unsupported->ranges. */ if (versions->low != 0 && versions->high != 0) { smartlist_add(unsupported->ranges, versions); + } else { + tor_free(versions); } /* Finally, if we had something unsupported, add it to the list of * missing_some things and mark that there was something missing. */ @@ -828,7 +830,6 @@ protover_all_supported(const char *s, char **missing_out) all_supported = 0; } else { proto_entry_free(unsupported); - tor_free(versions); } } SMARTLIST_FOREACH_END(range);
tor-commits@lists.torproject.org