From: teodor Date: Thu, 18 Feb 2010 13:10:41 +0000 (+0000) Subject: fix reallocation memory in appendStringBuffer X-Git-Url: http://sigaev.ru/git/gitweb.cgi?a=commitdiff_plain;h=defbac8338fc0b55c3e7b6eded770edc713122e2;hp=d87148e06e0655d4a0b9eca3e46082d5b0b48210;p=tedtools.git fix reallocation memory in appendStringBuffer --- diff --git a/tmalloc.c b/tmalloc.c index 0d51e75..8b16322 100644 --- a/tmalloc.c +++ b/tmalloc.c @@ -320,8 +320,11 @@ appendStringBuffer( StringBuffer *state, char *string, int stringlen) { return state; while ( state->len - ( state->ptr - state->buf ) < stringlen + 1 ) { + int diff = state->ptr - state->buf; + state->len *= 2; state->buf = (char*)mcrealloc( (void*)state->buf, state->len ); + state->ptr = state->buf + diff; } memcpy(state->ptr, string, stringlen);