From: Yang Xu Date: Mon, 17 Jan 2022 07:36:54 +0000 (+0800) Subject: src/ext4_resize.c: set errno to 0 before the strtoull call X-Git-Tag: v2022.05.01~107 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a3183c6422b5014f8d6168cbf067461c1767e8bf;p=xfstests-dev.git src/ext4_resize.c: set errno to 0 before the strtoull call On my test machine, ext4/033 fails even use the non-overflow size. It reports invalid new size when using strtoull because errno is 1. As man-pages said "Since strtoul() can legitimately return 0 or ULONG_MAX (ULLONG_MAX for strtoull()) on both success and failure, the calling program should set errno to 0 before the call, and then determine if an error occurred by checking whether errno has a nonzero value after the call". So add a step to set errno to 0 before strtoull call. Fixes: 92b9c0dedace ("ext4/033: test EXT4_IOC_RESIZE_FS by calling the ioctl directly") Signed-off-by: Yang Xu Reviewed-by: Darrick J. Wong Reviewed-by: Theodore Ts'o Signed-off-by: Eryu Guan --- diff --git a/src/ext4_resize.c b/src/ext4_resize.c index 1ac51e6f..39e16529 100644 --- a/src/ext4_resize.c +++ b/src/ext4_resize.c @@ -35,6 +35,7 @@ int main(int argc, char **argv) return 1; } + errno = 0; new_size = strtoull(argv[2], &tmp, 10); if ((errno) || (*tmp != '\0')) { fprintf(stderr, "%s: invalid new size\n", argv[0]);