Fix an off-by-one error in freeProgArgv
authorIan Lynagh <igloo@earth.li>
Wed, 2 May 2012 12:39:26 +0000 (13:39 +0100)
committerIan Lynagh <igloo@earth.li>
Wed, 2 May 2012 12:39:26 +0000 (13:39 +0100)
System/Environment.hs

index 53f85f9..859f4a1 100644 (file)
@@ -288,7 +288,8 @@ withProgArgv new_args act = do
 freeProgArgv :: Ptr CString -> IO ()
 freeProgArgv argv = do
   size <- lengthArray0 nullPtr argv
-  sequence_ [peek (argv `advancePtr` i) >>= free | i <- [size, size-1 .. 0]]
+  sequence_ [ peek (argv `advancePtr` i) >>= free
+            | i <- [size - 1, size - 2 .. 0]]
   free argv
 
 setProgArgv :: [String] -> IO (Ptr CString)