From ff03aed06a42235a87a3d33e7d812be1e9c8161d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 3 Apr 2013 16:48:46 -0400 Subject: [PATCH] udevadm-hwdb: avoid leak in error path --- src/udev/udevadm-hwdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c index a2df291a4..1e80b0d61 100644 --- a/src/udev/udevadm-hwdb.c +++ b/src/udev/udevadm-hwdb.c @@ -176,11 +176,11 @@ static int trie_insert(struct trie *trie, struct trie_node *node, const char *se const char *key, const char *value) { size_t i = 0; int err = 0; + struct trie_node _cleanup_free_ *child = NULL; for (;;) { size_t p; uint8_t c; - struct trie_node *child; for (p = 0; (c = trie->strings->buf[node->prefix_off + p]); p++) { char *s; @@ -254,6 +254,7 @@ static int trie_insert(struct trie *trie, struct trie_node *node, const char *se } node = child; + child = NULL; /* avoid cleanup */ i++; } out: -- 2.30.2