Commit ebe48c60 authored by Daniel Veillard's avatar Daniel Veillard
Browse files

fix bug #128401 affecting regexp quantifiers Daniel

* config.h.in configure.in xmlregexp.c: fix bug #128401 affecting
  regexp quantifiers
Daniel
parent b3de70c2
Wed Dec 3 13:10:08 CET 2003 Daniel Veillard <daniel@veillard.com>
* config.h.in configure.in xmlregexp.c: fix bug #128401 affecting
regexp quantifiers
Tue Dec 2 23:29:56 CET 2003 Daniel Veillard <daniel@veillard.com>
 
* pattern.c include/libxml/pattern.h: adding the pattern node
......
......@@ -107,6 +107,9 @@
/* Have compression library */
#undef HAVE_LIBZ
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if you have the `localtime' function. */
#undef HAVE_LOCALTIME
......
......@@ -111,6 +111,7 @@ AC_CHECK_HEADERS([ansidecl.h])
AC_CHECK_HEADERS([ieeefp.h])
AC_CHECK_HEADERS([nan.h])
AC_CHECK_HEADERS([math.h])
AC_CHECK_HEADERS([limits.h])
AC_CHECK_HEADERS([fp_class.h])
AC_CHECK_HEADERS([float.h])
AC_CHECK_HEADERS([stdlib.h])
......
......@@ -21,12 +21,20 @@
#include <stdio.h>
#include <string.h>
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#include <libxml/tree.h>
#include <libxml/parserInternals.h>
#include <libxml/xmlregexp.h>
#include <libxml/xmlautomata.h>
#include <libxml/xmlunicode.h>
#ifndef INT_MAX
#define INT_MAX 123456789 /* easy to flag and big enough for our needs */
#endif
/* #define DEBUG_REGEXP_GRAPH */
/* #define DEBUG_REGEXP_EXEC */
/* #define DEBUG_PUSH */
......@@ -3749,9 +3757,16 @@ xmlFAParseQuantifier(xmlRegParserCtxtPtr ctxt) {
min = cur;
if (CUR == ',') {
NEXT;
cur = xmlFAParseQuantExact(ctxt);
if (cur >= 0)
max = cur;
if (CUR == '}')
max = INT_MAX;
else {
cur = xmlFAParseQuantExact(ctxt);
if (cur >= 0)
max = cur;
else {
ERROR("Improper quantifier");
}
}
}
if (CUR == '}') {
NEXT;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment