From 836297eae5ebe5fd0d434056db64770acc3f3275 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 27 Mar 2023 12:01:05 +0200 Subject: 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(-) (limited to 'guix/build') 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)) -- cgit v1.2.3