From 3a383fed01e275b05955e6b2e2626363816cdd62 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 5 Mar 2021 15:16:18 +0100 Subject: [PATCH] sd-bus: fix memleak in failure path in bus_match_parse() (cherry picked from commit 8df3f44c90a3e479b717e8cc4bb26c95ebbc5cb0) --- src/libsystemd/sd-bus/bus-match.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-match.c b/src/libsystemd/sd-bus/bus-match.c index 558fd05aa1..d74b28d821 100644 --- a/src/libsystemd/sd-bus/bus-match.c +++ b/src/libsystemd/sd-bus/bus-match.c @@ -743,12 +743,16 @@ int bus_match_parse( p += strspn(p, " "); eq = strchr(p, '='); - if (!eq) - return -EINVAL; + if (!eq) { + r = -EINVAL; + goto fail; + } t = bus_match_node_type_from_string(p, eq - p); - if (t < 0) - return -EINVAL; + if (t < 0) { + r = -EINVAL; + goto fail; + } quoted = eq[1] == '\''; -- 2.25.1