diff options
author | Pádraig Brady <P@draigBrady.com> | 2016-04-20 14:03:05 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2016-04-21 19:34:18 +0100 |
commit | ff6cc22d062c493c9fee27cfe1d2e6328d502a43 (patch) | |
tree | df43a7f32e55778478f5b3833373066c8469b0e0 /tests/misc/cut-huge-range.sh | |
parent | 163c70d970ca3e216e24970fc5ebb1b48fdb855e (diff) | |
download | coreutils-ff6cc22d062c493c9fee27cfe1d2e6328d502a43.tar.xz |
tests: avoid potential overflows with `expr`
* cfg.mk (sc_prohibit_expr_unsigned): expr uses intmax_t internally
when GMP is not available, so flag any uses of unsigned limits.
* tests/misc/timeout-parameters.sh: Remove the overflow related
to UINT_MAX as it's handled by the following case. Change the
following case from 99... to $TIME_T_OFLOW to be more expressive
in what it's actually testing. Directly check that commands succeed,
rather than inspecting $? afterwards.
* tests/dd/skip-seek-past-dev.sh: Guard against large device sizes.
* tests/id/setgid.sh: Protect: Guard against large group IDs.
* tests/misc/cut-huge-range.sh: Tweak comment to avoid syntax check.
It's tempting to simplify to just skip the test if expr fails,
but SIZE_MAX > INTMAX_MAX is the common case.
Diffstat (limited to 'tests/misc/cut-huge-range.sh')
-rwxr-xr-x | tests/misc/cut-huge-range.sh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/misc/cut-huge-range.sh b/tests/misc/cut-huge-range.sh index 92b62a97b..2b8b70387 100755 --- a/tests/misc/cut-huge-range.sh +++ b/tests/misc/cut-huge-range.sh @@ -46,7 +46,8 @@ subtract_one=' # Ensure we can cut up to our sentinel value. # This is currently SIZE_MAX, but could be raised to UINTMAX_MAX # if we didn't allocate memory for each line as a unit. -# Don't use expr to subtract one, since SIZE_MAX may exceed its maximum value. +# Don't use expr to subtract one, +# since SIZE_MAX may exceed its maximum value. CUT_MAX=$(echo $SIZE_MAX | sed "$subtract_one") # From coreutils-8.10 through 8.20, this would make cut try to allocate |