Mark "failures" volatile to avoid a problem with sigsetjmp/siglongjmp.
authormillert <millert@openbsd.org>
Mon, 27 Sep 2021 19:33:58 +0000 (19:33 +0000)
committermillert <millert@openbsd.org>
Mon, 27 Sep 2021 19:33:58 +0000 (19:33 +0000)
This makes the test pass on sparc64 where the compiler may otherwise
store the variable in the strlcpy/strlcat function's delay slot.
OK kettenis@

regress/lib/libc/strlcat/strlcattest.c
regress/lib/libc/strlcpy/strlcpytest.c

index 00a9212..a86fbed 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strlcattest.c,v 1.4 2021/09/01 09:26:32 jasper Exp $ */
+/*     $OpenBSD: strlcattest.c,v 1.5 2021/09/27 19:33:58 millert Exp $ */
 
 /*
  * Copyright (c) 2014 Todd C. Miller <millert@openbsd.org>
@@ -41,7 +41,7 @@ main(int argc, char *argv[])
        char *buf, *cp, *ep;
        struct sigaction sa;
        size_t len, bufsize;
-       int failures = 0;
+       volatile int failures = 0;
 
        bufsize = getpagesize(); /* trigger guard pages easily */
        buf = malloc(bufsize);
index 8f1d12d..ebc1c56 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: strlcpytest.c,v 1.4 2021/09/01 09:26:32 jasper Exp $ */
+/*     $OpenBSD: strlcpytest.c,v 1.5 2021/09/27 19:33:58 millert Exp $ */
 
 /*
  * Copyright (c) 2014 Todd C. Miller <millert@openbsd.org>
@@ -41,7 +41,7 @@ main(int argc, char *argv[])
        char *buf, *buf2, *cp, *ep;
        struct sigaction sa;
        size_t len, bufsize;
-       int failures = 0;
+       volatile int failures = 0;
 
        bufsize = getpagesize(); /* trigger guard pages easily */
        buf = malloc(bufsize);