summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-etc-hosts.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-06-05 14:03:30 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-06-24 10:38:15 +0200
commitab9dd0b9975c69953cb73d6c04f1a6af0bb9d5fa (patch)
treefbc875e3e15aeb3df845adcef3f0beb882be4585 /src/resolve/resolved-etc-hosts.c
parentceb17827fa9e5014c9750021bb1a98c326cbef34 (diff)
downloadsystemd-ab9dd0b9975c69953cb73d6c04f1a6af0bb9d5fa.tar.gz
resolved: fix memleak on duplicate host lines in /etc/hosts
Diffstat (limited to 'src/resolve/resolved-etc-hosts.c')
-rw-r--r--src/resolve/resolved-etc-hosts.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/resolve/resolved-etc-hosts.c b/src/resolve/resolved-etc-hosts.c
index a2c84c17a4..6a7f749957 100644
--- a/src/resolve/resolved-etc-hosts.c
+++ b/src/resolve/resolved-etc-hosts.c
@@ -120,11 +120,10 @@ static int parse_line(EtcHosts *hosts, unsigned nr, const char *line) {
/* Optimize the case where we don't need to store any addresses, by storing
* only the name in a dedicated Set instead of the hashmap */
- r = set_ensure_put(&hosts->no_address, &dns_name_hash_ops, name);
+ r = set_ensure_consume(&hosts->no_address, &dns_name_hash_ops, TAKE_PTR(name));
if (r < 0)
return r;
- TAKE_PTR(name);
continue;
}