From: Andreas Henriksson Date: Tue, 16 Sep 2014 13:50:58 +0000 (+0200) Subject: libsystemd-network: avoid double-free in error case X-Git-Tag: v217~559 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=2833796106420e4634543d06052482f75cbb5762 libsystemd-network: avoid double-free in error case Don't manually free 'n' in error path as it's already tagged _cleanup_free_ and will be freed once it goes out of scope, leading to double-free in this case. Found with coverity. Fixes: CID#1237786 --- diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c index 208c31469..372f3ed37 100644 --- a/src/libsystemd-network/network-internal.c +++ b/src/libsystemd-network/network-internal.c @@ -199,7 +199,6 @@ int config_parse_ifname(const char *unit, if (!ascii_is_valid(n) || strlen(n) >= IFNAMSIZ) { log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Interface name is not ASCII clean or is too long, ignoring assignment: %s", rvalue); - free(n); return 0; }