Re: [PATCH] fdtget.c: Fix memory leak

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Le 13/07/2016 04:50, David Gibson a écrit :
On Wed, Jul 13, 2016 at 12:36:08AM +0200, Jean-Christophe Dubois wrote:
CID 132823 (#1 of 1): Resource leak (RESOURCE_LEAK)
5. leaked_storage: Variable blob going out of scope leaks the storage it points to.

Signed-off-by: Jean-Christophe Dubois <jcd@xxxxxxxxxxxxxxx>
Since the program exits immediately after this free(), there's really
no point.
This is usually a good practice to free explicitly the memory we are allocating rather than relying on some kind of (final) garbage collector (like in java).

It seems cheap to fix but this is your call.

---
  fdtget.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/fdtget.c b/fdtget.c
index 4377419..fb9d0e1 100644
--- a/fdtget.c
+++ b/fdtget.c
@@ -266,14 +266,20 @@ static int do_fdtget(struct display_info *disp, const char *filename,
  				continue;
  			} else {
  				report_error(arg[i], node);
+				free(blob);
  				return -1;
  			}
  		}
  		prop = args_per_step == 1 ? NULL : arg[i + 1];
- if (show_data_for_item(blob, disp, node, prop))
+		if (show_data_for_item(blob, disp, node, prop)) {
+			free(blob);
  			return -1;
+		}
  	}
+
+	free(blob);
+
  	return 0;
  }

--
To unsubscribe from this list: send the line "unsubscribe devicetree-compiler" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux