From: Zbigniew Jędrzejewski-Szmek Date: Wed, 3 Apr 2013 20:48:46 +0000 (-0400) Subject: udevadm-hwdb: avoid leak in error path X-Git-Tag: v201~55 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=ff03aed06a42235a87a3d33e7d812be1e9c8161d;p=elogind.git udevadm-hwdb: avoid leak in error path --- 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: