civodul pushed a commit to branch master
in repository guix.

commit 836297eae5ebe5fd0d434056db64770acc3f3275
Author: Ludovic Courtès <[email protected]>
AuthorDate: Mon Mar 27 12:01:05 2023 +0200

    syscalls: 'getxattr' throws upon error.
    
    * guix/build/syscalls.scm (getxattr): Throw in the negative SIZE case.
---
 guix/build/syscalls.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index df9b9f6ac7..d947b010d3 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -970,7 +970,10 @@ backend device."
                           (string->pointer key)
                           (string->pointer "")
                           0)))
-        (cond ((< size 0) #f)
+        (cond ((< size 0)
+               (throw 'system-error "getxattr" "~S: ~A"
+                      (list file key (strerror err))
+                      (list err)))
               ((zero? size) "")
               ;; Get VALUE in buffer of SIZE.  XXX actual size can race.
               (else (let*-values (((buf) (make-bytevector size))

Reply via email to