From: Manjeet Pawar <manjee...@samsung.com> Subject: [PATCH] pan/splitstr.c: Add check for realloc failure case
This patch adds check for realloc failure case and free arg_string before returning from splitstr() to avoid memory leaks Signed-off-by: Yogesh Gaur <yn.g...@samsung.com> Signed-off-by: Manjeet Pawar <manjee...@samsung.com> --- pan/splitstr.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pan/splitstr.c b/pan/splitstr.c index 4706323..8804b15 100644 --- a/pan/splitstr.c +++ b/pan/splitstr.c @@ -93,6 +93,7 @@ const char **splitstr(const char *str, const char *separator, int *argcount) if (arg_array == NULL) { if (argcount != NULL) *argcount = 0; + free(arg_string); return (NULL); } @@ -110,9 +111,13 @@ const char **splitstr(const char *str, const char *separator, int *argcount) cur_tok = strtok(NULL, separator); if (num_toks == max_toks) { max_toks += 20; - arg_array = - (char **)realloc((void *)arg_array, - sizeof(char *) * max_toks); + if((arg_array = realloc((void *)arg_array,sizeof(char *) * max_toks)) == NULL){ + fprintf(stderr, "realloc: New memory allocation failed \n"); + free(arg_array); + free(arg_string); + exit(1); + } + } } arg_array[num_toks] = NULL; -- 1.7.9.5 ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list