on master help sign in
Merge pull request #586 from well-typed/pr/fix-spaceleak-in-sendResponse

Fix spaceleak in sendResponse

commit7f530d61a187acf8dbd079780471a5a802725296 authorKazu Yamamoto <kazu@iij.ad.jp> dateTue 8 Nov 2016, 12:38 (10 years ago) parent1f3f5805b8a086
1 file changed+3−1
warp/Network/Wai/Handler/Warp/Response.hs+3−1
warp/Network/Wai/Handler/Warp/Response.hs+3−1
@@ -136,6 +136,8 @@ sendResponse :: Settings
136136sendResponse settings conn ii req reqidxhdr src response = do
137137 hs <- addServerAndDate hs0
138138 if hasBody s then do
139+ -- Make sure we don't hang on to 'response' (avoid space leak)
140+ ret' <- E.evaluate ret
139141 -- The response to HEAD does not have body.
140142 -- But to handle the conditional requests defined RFC 7232 and
141143 -- to generate appropriate content-length, content-range,
@@ -147,7 +149,7 @@ sendResponse settings conn ii req reqidxhdr src response = do
147149 Nothing -> return ()
148150 Just realStatus -> logger req realStatus mlen
149151 T.tickle th
150− return ret
152+ return ret'
151153 else do
152154 _ <- sendRsp conn ii ver s hs RspNoBody
153155 logger req s Nothing