From a5f6e6189e75e2f2cdb85b24b51079884393c04c Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Sat, 18 Jan 2020 03:06:44 +0100 Subject: [PATCH] Make 112_backtrace/bcheck_123 more robust the strcat checker first checks dest for overlap, then src. If the padding byte between b[] and the pad[] arrays happens to be zero the dest check would have succeeded and the src test failed. If that padding byte would be zero the dest check would trigger first. As we can't influence the padding byte (only the b[] and pad[] arrays) it was random if the dest or src checks triggered. This makes it reliably trigger the dest check first. --- tests/tests2/112_backtrace.c | 2 +- tests/tests2/112_backtrace.expect | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests2/112_backtrace.c b/tests/tests2/112_backtrace.c index cd38c3c8..545a2431 100644 --- a/tests/tests2/112_backtrace.c +++ b/tests/tests2/112_backtrace.c @@ -150,7 +150,7 @@ int main() #elif defined test_bcheck_122 strcat(&a[7], &a[0]); #elif defined test_bcheck_123 - strcat(&a[0], &b[5]); + strcat(&a[0], &b[3]); #elif defined test_bcheck_124 strcat(&a[0], &a[4]); #elif defined test_bcheck_125 diff --git a/tests/tests2/112_backtrace.expect b/tests/tests2/112_backtrace.expect index 36f15518..f7829083 100644 --- a/tests/tests2/112_backtrace.expect +++ b/tests/tests2/112_backtrace.expect @@ -142,7 +142,7 @@ [test_bcheck_123] 112_backtrace.c:153: at main: BCHECK: ........ is outside of the region -112_backtrace.c:153: at main: BCHECK: invalid pointer ........, size 0x? in strcat src +112_backtrace.c:153: at main: BCHECK: invalid pointer ........, size 0x? in strcat dest [returns 255] [test_bcheck_124]