X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=www%2Fwproto.c;fp=www%2Fwproto.c;h=a90223ebe49da92b7157a8e9dfed07af393fb08c;hb=73041203f9c387b4596185203b1daebe2f4f30e9;hp=35479b36235b600c50f59cdaa51bfe2942dc192f;hpb=38297afadf55d8ea46846e6189acfc5d030b06af;p=egate.git diff --git a/www/wproto.c b/www/wproto.c index 35479b3..a90223e 100644 --- a/www/wproto.c +++ b/www/wproto.c @@ -41,7 +41,11 @@ * USE OR PERFORMANCE OF THIS SOFTWARE. * * $Log: wproto.c,v $ - * Revision 1.15 1996/01/24 08:25:32 adam + * Revision 1.16 1996/01/24 10:13:56 adam + * Bug fix: in function wo_write realloc is used only when memory is already + * allocated with malloc. + * + * Revision 1.15 1996/01/24 08:25:32 adam * Buf fix: Uninitialized outbuffer_offset member. * * Revision 1.14 1996/01/12 13:08:07 adam @@ -126,8 +130,14 @@ static char *mod = "wproto"; void wo_write (WCLIENT wc, const char *s, size_t len) { if (wc->outbuffer_offset + len >= wc->outbuffer_size) - wc->outbuffer = realloc(wc->outbuffer, wc->outbuffer_size += - ((len >= OUTBUFFER_CHUNK) ? len*2 : OUTBUFFER_CHUNK)); + { + if (!wc->outbuffer) + wc->outbuffer = malloc (wc->outbuffer_size += + ((len >= OUTBUFFER_CHUNK) ? len*2 : OUTBUFFER_CHUNK)); + else + wc->outbuffer = realloc(wc->outbuffer, wc->outbuffer_size += + ((len >= OUTBUFFER_CHUNK) ? len*2 : OUTBUFFER_CHUNK)); + } memcpy(wc->outbuffer + wc->outbuffer_offset, s, len); wc->outbuffer_offset += len; }