eina: fix memory leaks in eina_stringshare_printf/vprintf functions.

Summary: @Fix

Test Plan:
  CK_FORK=no valgrind --leak-check=full {UNIT_TEST_PROGRAM} "String Share"

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1857
This commit is contained in:
Amitesh Singh 2015-01-08 19:48:01 +09:00 committed by Carsten Haitzler (Rasterman)
parent e561570507
commit 32d52ff563
1 changed files with 10 additions and 4 deletions

View File

@ -617,7 +617,7 @@ EAPI Eina_Stringshare *
eina_stringshare_printf(const char *fmt, ...)
{
va_list args;
char *tmp;
char *tmp = NULL;
const char *ret;
int len;
@ -629,7 +629,10 @@ eina_stringshare_printf(const char *fmt, ...)
va_end(args);
if (len < 1)
return NULL;
{
free(tmp);
return NULL;
}
ret = eina_stringshare_add_length(tmp, len);
free(tmp);
@ -640,7 +643,7 @@ eina_stringshare_printf(const char *fmt, ...)
EAPI Eina_Stringshare *
eina_stringshare_vprintf(const char *fmt, va_list args)
{
char *tmp;
char *tmp = NULL;
const char *ret;
int len;
@ -650,7 +653,10 @@ eina_stringshare_vprintf(const char *fmt, va_list args)
len = vasprintf(&tmp, fmt, args);
if (len < 1)
return NULL;
{
free(tmp);
return NULL;
}
ret = eina_stringshare_add_length(tmp, len);
free(tmp);