From: Nicolas Boichat Date: Sat, 7 Jun 2014 13:38:00 +0000 (+0800) Subject: umount: Make sure exit code does not overflow X-Git-Tag: v2.25-rc1~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9add961e9e95350171488925582e469e44bb2b5;p=thirdparty%2Futil-linux.git 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 --- diff --git a/sys-utils/umount.c b/sys-utils/umount.c index 1ad9e6aeb9..a75ff9ec19 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; }