# HG changeset patch # User Matti Hamalainen # Date 1405092172 -10800 # Node ID 84182dab4fca9452ab57140f7ea212b8fc35f993 # Parent 11fa2bf902510d63320fc46398a777d32ebf6080 Fix reallocation. diff -r 11fa2bf90251 -r 84182dab4fca th_string.c --- a/th_string.c Fri Jul 04 02:18:26 2014 +0300 +++ b/th_string.c Fri Jul 11 18:22:52 2014 +0300 @@ -83,10 +83,8 @@ */ char *th_strdup_vprintf(const char *fmt, va_list args) { - int size = strlen(fmt); - char *buf; - if (size < 64) - size = 64; + int size = 64; + char *buf, *tmp; if ((buf = th_malloc(size)) == NULL) return NULL; @@ -106,8 +104,13 @@ else size *= 2; - if ((buf = th_realloc(buf, size)) == NULL) + if ((tmp = th_realloc(buf, size)) == NULL) + { + th_free(buf); return NULL; + } + else + buf = tmp; } }