--- http.c.ori 2009-08-11 21:02:20.000000000 -0300 +++ http.c 2009-08-11 21:01:59.000000000 -0300 @@ -278,6 +278,8 @@ if (!io->buf || io->bufpos == io->buflen) if (http_fillbuf(io, len) < 1) break; + if (io->buflen < io->bufpos) + return(-1); l = io->buflen - io->bufpos; if (len < l) l = len;