eet: handling memory leak on realloc fail.

Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D3208

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Srivardhan Hebbar 2015-10-22 12:25:37 -07:00 committed by Cedric BAIL
parent ccd7c2b014
commit 71e68dcca6
1 changed files with 18 additions and 10 deletions

View File

@ -2810,21 +2810,28 @@ _eet_data_dump_token_get(const char *src,
int *len)
{
const char *p;
char *tok = NULL;
char *tok = NULL, *temp;
int in_token = 0;
int in_quote = 0;
int in_escape = 0;
int tlen = 0, tsize = 0;
#define TOK_ADD(x) \
do { \
tlen++; \
if (tlen >= tsize) \
{ \
tsize += 32; \
tok = realloc(tok, tsize); \
} \
tok[tlen - 1] = x; \
#define TOK_ADD(x) \
do { \
tlen++; \
if (tlen >= tsize) \
{ \
tsize += 32; \
temp = tok; \
tok = realloc(tok, tsize); \
if (!tok) \
{ \
tok = temp; \
ERR("Realloc failed\n"); \
goto realloc_error; \
} \
} \
tok[tlen - 1] = x; \
} while (0)
for (p = src; *len > 0; p++, (*len)--)
@ -2890,6 +2897,7 @@ _eet_data_dump_token_get(const char *src,
return tok;
}
realloc_error:
free(tok);
return NULL;