livetree.c: Fix memory leak

When running coverity on dtc source code the following error is reported.

==========================================================================
*** CID 1370967:  Resource leaks  (RESOURCE_LEAK)
/tools/dtc/livetree.c: 850 in add_fixup_entry()
844		if (strchr(node->fullpath, ':') || strchr(prop->name, ':'))
845			die("arguments should not contain ':'\n");
846
847		xasprintf(&entry, "%s:%s:%u",
848			  node->fullpath, prop->name, m->offset);
849		append_to_property(fn, m->ref, entry, strlen(entry) + 1);
>>>     CID 1370967:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "entry" going out of scope leaks the storage it points to.
850     }
==========================================================================

Fix the leak.

Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
Jean-Christophe Dubois 2017-02-07 22:26:25 +01:00 committed by David Gibson
parent 3b9c97093d
commit 95d57726bc
1 changed files with 2 additions and 0 deletions

View File

@ -847,6 +847,8 @@ static void add_fixup_entry(struct dt_info *dti, struct node *fn,
xasprintf(&entry, "%s:%s:%u", xasprintf(&entry, "%s:%s:%u",
node->fullpath, prop->name, m->offset); node->fullpath, prop->name, m->offset);
append_to_property(fn, m->ref, entry, strlen(entry) + 1); append_to_property(fn, m->ref, entry, strlen(entry) + 1);

free(entry);
} }


static void generate_fixups_tree_internal(struct dt_info *dti, static void generate_fixups_tree_internal(struct dt_info *dti,