+2007-07-31 Micah Cowan <micah@cowan.name>
+
+ * http.c (gethttp): Set contlen = -1 when we encounter a
+ negative-valued Content-Length header, so we don't consider it
+ an internal error later on and call abort().
+
2007-07-29 Micah Cowan <micah@cowan.name>
* url.h, url.c (url_string): Replaced bool arg of the url_string
errno = 0;
parsed = str_to_wgint (hdrval, NULL, 10);
if (parsed == WGINT_MAX && errno == ERANGE)
- /* Out of range.
- #### If Content-Length is out of range, it most likely
- means that the file is larger than 2G and that we're
- compiled without LFS. In that case we should probably
- refuse to even attempt to download the file. */
- contlen = -1;
+ {
+ /* Out of range.
+ #### If Content-Length is out of range, it most likely
+ means that the file is larger than 2G and that we're
+ compiled without LFS. In that case we should probably
+ refuse to even attempt to download the file. */
+ contlen = -1;
+ }
+ else if (parsed < 0)
+ {
+ /* Negative Content-Length; nonsensical, so we can't
+ assume any information about the content to receive. */
+ contlen = -1;
+ }
else
contlen = parsed;
}