aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Kadianakis <desnacked@riseup.net>2019-04-30 19:21:15 +0300
committerGeorge Kadianakis <desnacked@riseup.net>2019-04-30 19:21:15 +0300
commit9084a90b00e51c92595347f8ac796df93876dc1a (patch)
treeebfb659d0879f3edd4dba0f1f49af8d409978427 /src
parenta44aca5453ca944369a9ab9b589499bed56c3599 (diff)
parente39b53ef7de4ac6705869fd153da7b0f87c48ee6 (diff)
downloadtor-9084a90b00e51c92595347f8ac796df93876dc1a.tar.gz
tor-9084a90b00e51c92595347f8ac796df93876dc1a.zip
Merge branch 'tor-github/pr/936'
Diffstat (limited to 'src')
-rw-r--r--src/core/or/protover.c3
-rw-r--r--src/feature/rend/rendservice.c1
-rw-r--r--src/lib/net/address.c8
3 files changed, 9 insertions, 3 deletions
diff --git a/src/core/or/protover.c b/src/core/or/protover.c
index 53709ad002..1edf78ec87 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);
diff --git a/src/feature/rend/rendservice.c b/src/feature/rend/rendservice.c
index 57475a64b0..996e7b9a28 100644
--- a/src/feature/rend/rendservice.c
+++ b/src/feature/rend/rendservice.c
@@ -4227,6 +4227,7 @@ rend_consider_services_intro_points(time_t now)
* directly ourselves. */
intro->extend_info = extend_info_from_node(node, 0);
if (BUG(intro->extend_info == NULL)) {
+ tor_free(intro);
break;
}
intro->intro_key = crypto_pk_new();
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. */