From: Wilfried Göesgens Date: Fri, 25 Apr 2008 20:59:26 +0000 (+0000) Subject: * fix URL termination bug X-Git-Tag: v7.86~2312 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=712b4751a236c1c0e3e036bed1ca0da67c6fd080;p=citadel.git * fix URL termination bug --- diff --git a/webcit/messages.c b/webcit/messages.c index 38298f799..1f6d21abe 100644 --- a/webcit/messages.c +++ b/webcit/messages.c @@ -400,12 +400,14 @@ void url(char *buf, size_t bufsize) } TrailerLen = len - (end - start); - memcpy(outbuf + Offset + outpos, end, TrailerLen); - if ( Offset + TrailerLen + outpos > bufsize) { + if (TrailerLen > 0) + memcpy(outbuf + Offset + outpos, end, TrailerLen); + if (Offset + outpos + TrailerLen > bufsize) { lprintf(1, "URL: content longer than buffer!"); return; } - memcpy (buf, outbuf, Offset + TrailerLen + outpos); + memcpy (buf, outbuf, Offset + outpos + TrailerLen); + *(buf + Offset + outpos + TrailerLen) = '\0'; }