From f1c85e95a697a96154c2c5e00f5d6e4e067d5968 Mon Sep 17 00:00:00 2001 From: phk Date: Mon, 8 Oct 2007 11:28:39 +0000 Subject: [PATCH] Only attempt to decode status integer if we have a good separation. Possibly ticket #164 git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2089 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishd/cache_http.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/varnish-cache/bin/varnishd/cache_http.c b/varnish-cache/bin/varnishd/cache_http.c index c7d60b1c..f79f2230 100644 --- a/varnish-cache/bin/varnishd/cache_http.c +++ b/varnish-cache/bin/varnishd/cache_http.c @@ -503,7 +503,12 @@ http_DissectResponse(struct worker *w, const struct http_conn *htc, struct http if (i != 0 || memcmp(hp->hd[HTTP_HDR_PROTO].b, "HTTP/1.", 7)) WSLR(w, SLT_HttpGarbage, htc->fd, htc->rxbuf); - hp->status = strtoul(hp->hd[HTTP_HDR_STATUS].b, NULL /* XXX */, 10); + if (i != 0 && hp->status == 0) { + hp->status = i; + } else { + hp->status = + strtoul(hp->hd[HTTP_HDR_STATUS].b, NULL /* XXX */, 10); + } return (i); } -- 2.39.5