diff mbox series

[PATCH-for-5.2,v2] hw/rx/rx-gdbsim: Fix memory leak

Message ID 20201030134918.1518930-1-f4bug@amsat.org
State Superseded
Headers show
Series [PATCH-for-5.2,v2] hw/rx/rx-gdbsim: Fix memory leak | expand

Commit Message

Philippe Mathieu-Daudé Oct. 30, 2020, 1:49 p.m. UTC
As load_device_tree() returns allocated memory,
we need to free it.

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Fixes: bda19d7bb56 ("hw/rx: Add RX GDB simulator")
Reported-by: Coverity (CID 1432307: RESOURCE_LEAK)
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: NULL-initialize (Richard)
---
 hw/rx/rx-gdbsim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Henderson Oct. 30, 2020, 6:49 p.m. UTC | #1
On 10/30/20 6:49 AM, Philippe Mathieu-Daudé wrote:
> As load_device_tree() returns allocated memory,

> we need to free it.

> 

> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>

> Fixes: bda19d7bb56 ("hw/rx: Add RX GDB simulator")

> Reported-by: Coverity (CID 1432307: RESOURCE_LEAK)

> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---

> v2: NULL-initialize (Richard)

> ---

>  hw/rx/rx-gdbsim.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c

> index 417ec0564b3..d70865962e8 100644

> --- a/hw/rx/rx-gdbsim.c

> +++ b/hw/rx/rx-gdbsim.c

> @@ -122,7 +122,7 @@ static void rx_gdbsim_init(MachineState *machine)

>          if (dtb_filename) {

>              ram_addr_t dtb_offset;

>              int dtb_size;

> -            void *dtb;

> +            g_autofree void *dtb = NULL;

>  

>              dtb = load_device_tree(dtb_filename, &dtb_size);


What I said was, merge the declaration and statement:

  g_autofree void *dtb =
    load_device_tree(...);

but whatever.  You can still keep my previous conditional r-b.

r~
diff mbox series

Patch

diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c
index 417ec0564b3..d70865962e8 100644
--- a/hw/rx/rx-gdbsim.c
+++ b/hw/rx/rx-gdbsim.c
@@ -122,7 +122,7 @@  static void rx_gdbsim_init(MachineState *machine)
         if (dtb_filename) {
             ram_addr_t dtb_offset;
             int dtb_size;
-            void *dtb;
+            g_autofree void *dtb = NULL;
 
             dtb = load_device_tree(dtb_filename, &dtb_size);
             if (dtb == NULL) {