diff options
author | Nick Mathewson <nickm@torproject.org> | 2019-04-11 17:40:05 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2019-04-11 17:40:05 -0400 |
commit | 4e3d144fb0940d8ee5a89427d471ea3656e8e122 (patch) | |
tree | 738254d3d650a46ef5b9b648278eb1b67b9d69ac /src/lib/net/address.c | |
parent | 7c98105d5617a0423c2d45941e7c0906de649128 (diff) | |
download | tor-4e3d144fb0940d8ee5a89427d471ea3656e8e122.tar.gz tor-4e3d144fb0940d8ee5a89427d471ea3656e8e122.zip |
Don't leak on logic error in string_is_valid_nonrfc_hostname()
This is CID 1437438. No backport needed: this is unreachable, and
guarded with a BUG() check.
Diffstat (limited to 'src/lib/net/address.c')
-rw-r--r-- | src/lib/net/address.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/net/address.c b/src/lib/net/address.c index 214d8aa3eb..7dec4c8e25 100644 --- a/src/lib/net/address.c +++ b/src/lib/net/address.c @@ -2027,8 +2027,12 @@ string_is_valid_nonrfc_hostname(const char *string) smartlist_split_string(components,string,".",0,0); - if (BUG(smartlist_len(components) == 0)) - return 0; // LCOV_EXCL_LINE should be impossible given the earlier checks. + if (BUG(smartlist_len(components) == 0)) { + // LCOV_EXCL_START should be impossible given the earlier checks. + smartlist_free(components); + return 0; + // LCOV_EXCL_STOP + } /* Allow a single terminating '.' used rarely to indicate domains * are FQDNs rather than relative. */ |