* fix URL termination bug
authorWilfried Göesgens <willi@citadel.org>
Fri, 25 Apr 2008 20:59:26 +0000 (20:59 +0000)
committerWilfried Göesgens <willi@citadel.org>
Fri, 25 Apr 2008 20:59:26 +0000 (20:59 +0000)
webcit/messages.c

index 38298f799037e03e22915760d49aaa5aae88c8d5..1f6d21abe5e1ebd9ca4e24a3217bf533442a23d0 100644 (file)
@@ -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';
 }