aboutsummaryrefslogtreecommitdiff
path: root/src/lib/net/address.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-04-11 17:40:05 -0400
committerNick Mathewson <nickm@torproject.org>2019-04-11 17:40:05 -0400
commit4e3d144fb0940d8ee5a89427d471ea3656e8e122 (patch)
tree738254d3d650a46ef5b9b648278eb1b67b9d69ac /src/lib/net/address.c
parent7c98105d5617a0423c2d45941e7c0906de649128 (diff)
downloadtor-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.c8
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. */