From: Fredrik Tolf Date: Tue, 31 Aug 2010 22:37:29 +0000 (+0200) Subject: libht: Fixed a bug in trim. X-Git-Tag: 0.1~44 X-Git-Url: http://dolda2000.com/gitweb/?p=ashd.git;a=commitdiff_plain;h=c7b1ef35df69f303e185a1f53f97f4106dc0c3af libht: Fixed a bug in trim. --- diff --git a/lib/req.c b/lib/req.c index 4cde483..2f975c9 100644 --- a/lib/req.c +++ b/lib/req.c @@ -95,9 +95,11 @@ static void trim(struct charbuf *buf) { char *p; - for(p = buf->b; (p - buf->b < buf->d) && isspace(*p); p++); - memmove(buf->b, p, buf->d -= (p - buf->b)); - for(p = buf->b + buf->d - 1; (p > buf->b) && isspace(*p); p--, buf->d--); + if(buf->d > 0) { + for(p = buf->b; (p - buf->b < buf->d) && isspace(*p); p++); + memmove(buf->b, p, buf->d -= (p - buf->b)); + for(p = buf->b + buf->d - 1; (p > buf->b) && isspace(*p); p--, buf->d--); + } } int parseheaders(struct hthead *head, FILE *in)