From 1a6742e651f65ed2d2b2584b7c6c634a485b9cac Mon Sep 17 00:00:00 2001 From: Erik O'Leary Date: Fri, 15 Nov 2013 10:47:25 -0600 Subject: Fixed http header parsing issue If second half of http header line was empty, server would crash with EInvalidIndex https://gist.github.com/onionhammer/7487452 --- lib/pure/httpserver.nim | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/pure') diff --git a/lib/pure/httpserver.nim b/lib/pure/httpserver.nim index 043e713a6..901fdc779 100644 --- a/lib/pure/httpserver.nim +++ b/lib/pure/httpserver.nim @@ -401,8 +401,9 @@ proc nextAsync(s: PAsyncHTTPServer) = var value = "" i = header.parseUntil(key, ':') inc(i) # skip : - i += header.skipWhiteSpace(i) - i += header.parseUntil(value, {'\c', '\L'}, i) + if i < header.len: + i += header.skipWhiteSpace(i) + i += header.parseUntil(value, {'\c', '\L'}, i) s.headers[key] = value else: s.client.close() -- cgit 1.4.1-2-gfad0