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>
This commit is contained in:
Siddhesh Poyarekar 2023-07-21 11:13:58 -04:00
parent 8605bd9321
commit 386df7ce7b

View file

@ -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);