]> granicus.if.org Git - libevent/commitdiff
Force strict validation of HTTP version in response.
authorCatalin Patulea <catalinp@google.com>
Tue, 10 Jan 2012 23:33:58 +0000 (18:33 -0500)
committerNick Mathewson <nickm@torproject.org>
Fri, 20 Jan 2012 16:37:38 +0000 (11:37 -0500)
This sometimes accepted invalid versions like 'ICY' (n = 0, major = undefined, sometimes > 1).

http.c

diff --git a/http.c b/http.c
index 8676c89bcb3884d02c348e23e745220ed537ffbe..a234187adf759abad31489c879484d564524c806 100644 (file)
--- a/http.c
+++ b/http.c
@@ -1469,7 +1469,7 @@ evhttp_parse_http_version(const char *version, struct evhttp_request *req)
        int major, minor;
        char ch;
        int n = sscanf(version, "HTTP/%d.%d%c", &major, &minor, &ch);
-       if (n > 2 || major > 1) {
+       if (n != 2 || major > 1) {
                event_debug(("%s: bad version %s on message %p from %s",
                        __func__, version, req, req->remote_host));
                return (-1);