summaryrefslogtreecommitdiff
path: root/drivers/core
diff options
context:
space:
mode:
authorMario Six <mario.six@gdsys.cc>2018-10-04 10:22:24 +0300
committerSimon Glass <sjg@chromium.org>2018-11-14 20:16:27 +0300
commit205dd5afe59db2a471b756fa04c30232fa29e5c6 (patch)
tree938390ce9e76c1257bccfaac34a6eab778125d15 /drivers/core
parentab88bd2b6a160310953a230d4a4c334ea6a65d3b (diff)
downloadu-boot-205dd5afe59db2a471b756fa04c30232fa29e5c6.tar.xz
core: ofnode: Fix mem leak in error path
A newly created property is currently not freed if a name could not be allocated. This patch fixes the resulting memory leak in the error patch. Reported-by: Coverity (CID: 184085) Fixes: e369e58df79c ("core: Add functions to set properties in live-tree") Signed-off-by: Mario Six <mario.six@gdsys.cc>
Diffstat (limited to 'drivers/core')
-rw-r--r--drivers/core/ofnode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index b7b7ad3a62..d9b5280b2d 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -831,8 +831,10 @@ int ofnode_write_prop(ofnode node, const char *propname, int len,
return -ENOMEM;
new->name = strdup(propname);
- if (!new->name)
+ if (!new->name) {
+ free(new);
return -ENOMEM;
+ }
new->value = (void *)value;
new->length = len;