Blame posix/bug-regex15.c

Packit 6c4009
/* Test for memory/CPU leak in regcomp.  */
Packit 6c4009
Packit 6c4009
#include <error.h>
Packit 6c4009
#include <sys/types.h>
Packit 6c4009
#include <regex.h>
Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <stdlib.h>
Packit 6c4009
Packit 6c4009
#define TEST_DATA_LIMIT (32 << 20)
Packit 6c4009
Packit 6c4009
static int do_test (void);
Packit 6c4009
#define TEST_FUNCTION do_test ()
Packit 6c4009
#include "../test-skeleton.c"
Packit 6c4009
Packit 6c4009
static int
Packit 6c4009
do_test (void)
Packit 6c4009
{
Packit 6c4009
  regex_t re;
Packit 6c4009
  int reerr;
Packit 6c4009
Packit 6c4009
  reerr = regcomp (&re, "^6?3?[25]?5?[14]*[25]*[69]*+[58]*87?4?$",
Packit 6c4009
		   REG_EXTENDED | REG_NOSUB);
Packit 6c4009
  if (reerr != 0)
Packit 6c4009
    {
Packit 6c4009
      char buf[100];
Packit 6c4009
      regerror (reerr, &re, buf, sizeof buf);
Packit 6c4009
      printf ("regerror %s\n", buf);
Packit 6c4009
      return 1;
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  return 0;
Packit 6c4009
}