about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/loader/cgi.nim3
-rw-r--r--src/loader/loader.nim2
2 files changed, 2 insertions, 3 deletions
diff --git a/src/loader/cgi.nim b/src/loader/cgi.nim
index 5bc22b6a..f7922224 100644
--- a/src/loader/cgi.nim
+++ b/src/loader/cgi.nim
@@ -238,7 +238,6 @@ proc killHandle(handle: LoaderHandle) =
     handle.sendHeaders(newHeaders())
     const msg = "Error: malformed header in CGI script"
     discard handle.output.ostream.sendData(msg)
-  handle.istream = nil
   handle.parser = nil
 
 proc parseHeaders*(handle: LoaderHandle; buffer: LoaderBuffer): int =
@@ -248,7 +247,7 @@ proc parseHeaders*(handle: LoaderHandle; buffer: LoaderBuffer): int =
   for i in 0 ..< L:
     template die =
       handle.killHandle()
-      return i
+      return -1
     let c = if buffer != nil:
       char(buffer.page[i])
     else:
diff --git a/src/loader/loader.nim b/src/loader/loader.nim
index c4b497ac..cb59a714 100644
--- a/src/loader/loader.nim
+++ b/src/loader/loader.nim
@@ -259,7 +259,7 @@ proc handleRead(ctx: LoaderContext; handle: LoaderHandle;
       var si = 0
       if handle.parser != nil:
         si = handle.parseHeaders(buffer)
-        if handle.istream == nil: # died while parsing headers; unregister
+        if si == -1: # died while parsing headers; unregister
           return hrrUnregister
         if si == n: # parsed the entire buffer as headers; skip output handling
           continue