convert withFile and withBinaryFile to close-on-exec safe versions
authorJoey Hess <joeyh@joeyh.name>
Fri, 5 Sep 2025 19:44:43 +0000 (15:44 -0400)
committerJoey Hess <joeyh@joeyh.name>
Fri, 5 Sep 2025 19:44:43 +0000 (15:44 -0400)
At this point, every call in git-annex to withFile, openBinaryFile,
withBinaryFile, appendFile, and openTempFile, readFile, and writeFile
have been converted.

Sponsored-by: the NIH-funded NICEMAN (ReproNim TR&D3) project
Assistant/Install/Menu.hs
Remote/Directory/LegacyChunked.hs
Remote/Helper/Chunked/Legacy.hs

index 04261838ef7a5173fd2ed9354b17f2c661816ade..d5056fa89fe2f9fcd1306c641a69a0c94de4df0d 100644 (file)
@@ -13,6 +13,7 @@ module Assistant.Install.Menu where
 
 import Common
 import Utility.FreeDesktop
+import qualified Utility.FileIO as F
 
 installMenu :: String -> OsPath -> OsPath -> OsPath -> IO ()
 #ifdef darwin_HOST_OS
@@ -40,8 +41,8 @@ fdoDesktopMenu command = genDesktopEntry
 installIcon :: OsPath -> OsPath -> IO ()
 installIcon src dest = do
        createDirectoryIfMissing True (parentDir dest)
-       withBinaryFile (fromOsPath src) ReadMode $ \hin ->
-               withBinaryFile (fromOsPath dest) WriteMode $ \hout ->
+       F.withBinaryFile src ReadMode $ \hin ->
+               F.withBinaryFile dest WriteMode $ \hout ->
                        hGetContents hin >>= hPutStr hout
 
 iconBaseName :: String
index e32b263b98a4b429afc6bb6a4b80e09e9f1af10f..56b30713599542ca55c1a6bd12b8b8779e812ab4 100644 (file)
@@ -59,7 +59,7 @@ storeLegacyChunked' :: MeterUpdate -> ChunkSize -> [FilePath] -> [S.ByteString]
 storeLegacyChunked' _ _ [] _ _ = error "ran out of dests"
 storeLegacyChunked' _ _  _ [] c = return $ reverse c
 storeLegacyChunked' meterupdate chunksize (d:dests) bs c = do
-       bs' <- withFile d WriteMode $
+       bs' <- F.withFile (toOsPath d) WriteMode $
                feed zeroBytesProcessed chunksize bs
        storeLegacyChunked' meterupdate chunksize dests bs' (d:c)
   where
index 9f4c3fea36f7394d81cf0622c479044bef2f9643..c4a300e1f63155b2b67f4c1e481284621beac645 100644 (file)
@@ -10,6 +10,7 @@ module Remote.Helper.Chunked.Legacy where
 import Annex.Common
 import Remote.Helper.Chunked
 import Utility.Metered
+import qualified Utility.FileIO as F
 
 import qualified Data.ByteString as S
 import qualified Data.ByteString.Lazy as L
@@ -116,6 +117,6 @@ storeChunked annexrunner chunksize dests storer content =
  -}
 meteredWriteFileChunks :: MeterUpdate -> FilePath -> [v] -> (v -> IO L.ByteString) -> IO ()
 meteredWriteFileChunks meterupdate dest chunks feeder =
-       withBinaryFile dest WriteMode $ \h ->
+       F.withBinaryFile (toOsPath dest) WriteMode $ \h ->
                forM_ chunks $
                        meteredWrite meterupdate (S.hPut h) <=< feeder