device-tree: fix memory leak
PATCH 1/1 device-tree: fix memory leak
Signed-off-by Sergey Fedorov <[email protected]>
--- device_tree.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
device_tree.c +10 -4
@@ -324,6 +324,7 @@ int qemu_fdt_setprop_sized_cells_from_array(void *fdt,uint64_t value;int cellnum, vnum, ncells;uint32_t hival; +int ret; propcells =g_new0 (uint32_t, numvalues *2 );
@@ -331,18 +332,23 @@ int qemu_fdt_setprop_sized_cells_from_array(void *fdt,for (vnum =0 ; vnum < numvalues; vnum++) { ncells = values[vnum *2 ];if (ncells !=1 && ncells !=2 ) { -return -1 ; + ret =-1 ; + goto out; } value = values[vnum *2 +1 ]; hival =cpu_to_be32 (value >>32 );if (ncells >1 ) { propcells[cellnum++] = hival; }else if (hival !=0 ) { -return -1 ; + ret =-1 ; + goto out; } propcells[cellnum++] =cpu_to_be32 (value); } -return qemu_fdt_setprop (fdt, node_path, property, propcells, - cellnum *sizeof (uint32_t )); + ret =qemu_fdt_setprop (fdt, node_path, property, propcells, + cellnum *sizeof (uint32_t )); +out: +g_free (propcells); +return ret; }
Signature · 1 line
1.9.1
Alexander Graf
AppliedQuoted 1 line · Sergey Fedorov
Signed-off-by Sergey Fedorov <[email protected]>
Thanks, applied to ppc-next.
Alex