1 /* Test for memory leaks in regcomp. 2 Copyright (C) 2003 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 Contributed by Jakub Jelinek <jakub (at) redhat.com>, 2003. 5 6 The GNU C Library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 The GNU C Library is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with the GNU C Library; if not, write to the Free 18 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 02110-1301 USA. */ 20 21 #ifdef HAVE_CONFIG_H 22 #include "config.h" 23 #endif 24 25 #ifdef HAVE_MCHECK_H 26 #include <mcheck.h> 27 #endif 28 #include <regex.h> 29 #include <stdio.h> 30 31 int main (void) 32 { 33 regex_t re; 34 int i; 35 int ret = 0; 36 37 #ifdef HAVE_MCHECK_H 38 mtrace (); 39 #endif 40 41 for (i = 0; i < 32; ++i) 42 { 43 if (regcomp (&re, "X-.+:.+Y=\".*\\.(A|B|C|D|E|F|G|H|I", 44 REG_EXTENDED | REG_ICASE) == 0) 45 { 46 puts ("regcomp unexpectedly succeeded"); 47 ret = 1; 48 } 49 else 50 regfree (&re); 51 } 52 return ret; 53 } 54