diff options
author | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2023-07-21 11:13:58 -0400 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@gotplt.org> | 2023-07-26 07:42:53 -0400 |
commit | 386df7ce7b38ef00e28080a779ef2dfd6949cf15 (patch) | |
tree | 102bcdfac61e829d30fa432c08c2d32460232394 /gcc | |
parent | 8605bd9321010f15c471d511de5a06bbd9cc7c4b (diff) | |
download | gcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.zip gcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.tar.gz gcc-386df7ce7b38ef00e28080a779ef2dfd6949cf15.tar.bz2 |
testsuite/110763: Ensure zero return from test
The test deliberately reads beyond bounds to exersize ubsan and the
return value may be anything, based on previous allocations. The OFF
test caters for it by ANDing the return with 0, do the same for the DYN
test.
gcc/testsuite/ChangeLog:
PR testsuite/110763
* gcc.dg/ubsan/object-size-dyn.c (dyn): New parameter RET.
(main): Use it.
Signed-off-by: Siddhesh Poyarekar <siddhesh@gotplt.org>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c b/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c index 0159f5b..49c3abe 100644 --- a/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c +++ b/gcc/testsuite/gcc.dg/ubsan/object-size-dyn.c @@ -5,12 +5,12 @@ int __attribute__ ((noinline)) -dyn (int size, int i) +dyn (int size, int i, int ret) { __builtin_printf ("dyn\n"); fflush (stdout); int *alloc = __builtin_calloc (size, sizeof (int)); - int ret = alloc[i]; + ret = ret & alloc[i]; __builtin_free (alloc); return ret; } @@ -28,7 +28,7 @@ off (int size, int i, int ret) int main (void) { - int ret = dyn (2, 2); + int ret = dyn (2, 2, 0); ret |= off (4, 4, 0); |