[tor-commits] [tor/master] Make it clear to coverity we aren't leaking in protover_all_supported()

asn at torproject.org asn at torproject.org
Tue Apr 30 16:24:45 UTC 2019


commit 781d69f3a7e1c9d70120cda970b203dea4180b99
Author: Nick Mathewson <nickm at 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);
 





More information about the tor-commits mailing list