| /* PR sanitizer/98920 */ | |
| /* { dg-do run } */ | |
| #include <stdio.h> | |
| #include <sys/types.h> | |
| #if __has_include(<regex.h>) | |
| #include <regex.h> | |
| #endif | |
| int main(void) | |
| { | |
| #ifdef REG_STARTEND | |
| 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); | |
| #endif | |
| return 0; | |
| } |