From a9add961e9e95350171488925582e469e44bb2b5 Mon Sep 17 00:00:00 2001 From: Nicolas Boichat Date: Sat, 7 Jun 2014 21:38:00 +0800 Subject: umount: Make sure exit code does not overflow POSIX exit code is only 8-bit, and since umount sums up error codes, it can sometimes report success (exit code 0) even though a number of operations failed. For example, running, in an empty directory: umount `seq 1 7` returns 224 (7*32), since none of the 7 mount point exists but umount `seq 1 8` returns 0 (8*32=256) This patch clips the return value to 255. Signed-off-by: Nicolas Boichat --- sys-utils/umount.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys-utils/umount.c') diff --git a/sys-utils/umount.c b/sys-utils/umount.c index 1ad9e6aeb..a75ff9ec1 100644 --- a/sys-utils/umount.c +++ b/sys-utils/umount.c @@ -646,6 +646,6 @@ int main(int argc, char **argv) } mnt_free_context(cxt); - return rc; + return (rc < 256) ? rc : 255; } -- cgit v1.2.3-55-g7522