commit 4e3d144fb0940d8ee5a89427d471ea3656e8e122
parent 7c98105d5617a0423c2d45941e7c0906de649128
Author: Nick Mathewson <nickm@torproject.org>
Date: Thu, 11 Apr 2019 17:40:05 -0400
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:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git 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. */