[PATCH] dt-ops: fix memory leak when new_node malloc fails

qiuguorui1 qiuguorui1 at huawei.com
Mon Nov 30 01:41:56 EST 2020


In function dtb_set_property, when malloc new_node fails,
we need to free new_dtb before return.

Fixes: f56cbcf4c2766 ("kexec/dt-ops.c: Fix '/chosen' v/s 'chosen' node
being passed to fdt helper functions")
Signed-off-by: qiuguorui1 <qiuguorui1 at huawei.com>
---
 kexec/dt-ops.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kexec/dt-ops.c b/kexec/dt-ops.c
index dd2feaa..cc5feae 100644
--- a/kexec/dt-ops.c
+++ b/kexec/dt-ops.c
@@ -89,6 +89,7 @@ int dtb_set_property(char **dtb, off_t *dtb_size, const char *node,
 	new_node = malloc(strlen("/") + strlen(node) + 1);
 	if (!new_node) {
 		dbgprintf("%s: malloc failed\n", __func__);
+		free(new_dtb);
 		return -ENOMEM;
 	}
 
-- 
2.12.3




More information about the kexec mailing list