diff options
author | Martin Liska <mliska@suse.cz> | 2021-03-08 15:52:03 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-03-08 15:55:27 +0100 |
commit | 81fee438512460f1be50d91ee5de452f8fe5cc18 (patch) | |
tree | 082b41dce09fd3160704746c74a491689536c1b8 /gcc | |
parent | 04b4828c6dd215385fde6964a5e13da8a01a78ba (diff) | |
download | gcc-81fee438512460f1be50d91ee5de452f8fe5cc18.zip gcc-81fee438512460f1be50d91ee5de452f8fe5cc18.tar.gz gcc-81fee438512460f1be50d91ee5de452f8fe5cc18.tar.bz2 |
libsanitizer: cherry-pick ad294e572bc5c16f9dc420cc994322de6ca3fbfb
libsanitizer/ChangeLog:
PR sanitizer/98920
* asan/asan_interceptors.cpp (COMMON_INTERCEPT_FUNCTION_VER):
Cherry pick.
(COMMON_INTERCEPT_FUNCTION_VER_UNVERSIONED_FALLBACK): Likewise.
* asan/asan_interceptors.h (ASAN_INTERCEPT_FUNC_VER_UNVERSIONED_FALLBACK): Likewise.
* sanitizer_common/sanitizer_common_interceptors.inc
(COMMON_INTERCEPT_FUNCTION_GLIBC_VER_MIN): Likewise.
(INIT_REGEX): Likewise.
* tsan/tsan_interceptors_posix.cpp (COMMON_INTERCEPT_FUNCTION_VER_UNVERSIONED_FALLBACK):
Likewise.
gcc/testsuite/ChangeLog:
PR sanitizer/98920
* c-c++-common/asan/pr98920.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/c-c++-common/asan/pr98920.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/asan/pr98920.c b/gcc/testsuite/c-c++-common/asan/pr98920.c new file mode 100644 index 0000000..881d3d4 --- /dev/null +++ b/gcc/testsuite/c-c++-common/asan/pr98920.c @@ -0,0 +1,24 @@ +/* PR sanitizer/98920 */ +/* { dg-do run } */ + +#include <stdio.h> +#include <sys/types.h> +#include <regex.h> + +int main(void) +{ + regex_t r; + const char s[] = "ban\0ana"; + regmatch_t pmatch[10]; + pmatch[0].rm_so = 0; + pmatch[0].rm_eo = sizeof(s); + if (regcomp(&r, "ana", 0)) + return 2; + if (regexec(&r, s, sizeof(pmatch)/sizeof(pmatch[0]), pmatch, REG_STARTEND)) { + fprintf(stderr, "failed to match\n"); + regfree(&r); + return 3; + } + regfree(&r); + return 0; +} |