Subject: [PATCH RESEND 2/2] scripts: dtc: fix memory leak after realloc This commit fixed memory leak after errors realloc. Signed-off-by: Maxim Zhukov <mussitantesmortem@xxxxxxxxx> --- scripts/dtc/fdtput.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/dtc/fdtput.c b/scripts/dtc/fdtput.c index f2197f5..1042319 100644 --- a/scripts/dtc/fdtput.c +++ b/scripts/dtc/fdtput.c @@ -75,8 +75,9 @@ static int encode_value(struct display_info *disp, char **arg, int arg_count, char *ptr; /* pointer to current value position */ int len; /* length of this cell/string/byte */ int ival; - int upto; /* the number of bytes we have written to buf */ + int upto; /* the number of bytes we have written to buf */ char fmt[3]; + void *save_ptr = NULL; /* save pointer to realloc */ upto = 0; @@ -96,12 +97,15 @@ static int encode_value(struct display_info *disp, char **arg, int arg_count, /* enlarge our value buffer by a suitable margin if needed */ if (upto + len > value_size) { value_size = (upto + len) + 500; - value = realloc(value, value_size); - if (!value) { + void *save_ptr = realloc(value, value_size); + + if (!save_ptr) { + free(value); fprintf(stderr, "Out of mmory: cannot alloc " "%d bytes\n", value_size); return -1; } + value = save_ptr; } ptr = value + upto; -- 2.7.1.1.g3617aa0 -- 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