I'm still seeing this bug with util-linux 2.17.2 as shipped with
squeeze. This patch fixes the issue for me:

>From 7d94b203ce0e13d2ac81cce1084ac73c13ca6f31 Mon Sep 17 00:00:00 2001
From: Ben Noordhuis <[email protected]>
Date: Fri, 30 Mar 2012 20:32:34 +0000
Subject: [PATCH] flock: fix misreported error on execvp() failure

---
 sys-utils/flock.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/sys-utils/flock.c b/sys-utils/flock.c
index 75c007c..abfdef5 100644
--- a/sys-utils/flock.c
+++ b/sys-utils/flock.c
@@ -298,9 +298,9 @@ int main(int argc, char *argv[])
     } else if ( f == 0 ) {
       if ( do_close )
        close(fd);
-      err = errno;
       execvp(cmd_argv[0], cmd_argv);
       /* execvp() failed */
+      err = errno;
       fprintf(stderr, "%s: %s: %s\n", program, cmd_argv[0], strerror(err));
       _exit((err == ENOMEM) ? EX_OSERR: EX_UNAVAILABLE);
     } else {
-- 
1.7.2.5



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to