summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-09-29 09:35:35 +0200
committerLudovic Courtès <ludo@gnu.org>2020-09-29 21:56:27 +0200
commitf9090015c58e6f47be74fe6116ef10a90378a899 (patch)
tree651fbf958e4918c49ac216875ed1ba7487a8b752
parent4d047853da76dc5fa5dd50ecb750c861342ef47b (diff)
downloadguix-f9090015c58e6f47be74fe6116ef10a90378a899.tar.gz
secret-service: Fix file port leak in 'secret-service-send-secrets'.
* gnu/build/secret-service.scm (secret-service-send-secrets): Use
'call-with-input-file' instead of 'open-input-file'.
-rw-r--r--gnu/build/secret-service.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm
index 40c24abf09..6697e6e1b0 100644
--- a/gnu/build/secret-service.scm
+++ b/gnu/build/secret-service.scm
@@ -69,8 +69,10 @@ local PORT.  If connect fails, sleep 1s and retry RETRY times."
                       (version 0)
                       (files ,files-sizes-modes))))
       (write secrets sock)
-      (for-each (compose (cute dump-port <> sock)
-                         (cute open-input-file <>))
+      (for-each (lambda (file)
+                  (call-with-input-file file
+                    (lambda (input)
+                      (dump-port input sock))))
                 files))))
 
 (define (secret-service-receive-secrets port)