summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/ereg/regex/regcomp.c5
-rw-r--r--regex/regcomp.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/ext/ereg/regex/regcomp.c b/ext/ereg/regex/regcomp.c
index ec034d4c4c..d72cc82940 100644
--- a/ext/ereg/regex/regcomp.c
+++ b/ext/ereg/regex/regcomp.c
@@ -1553,6 +1553,11 @@ register struct re_guts *g;
if (g->mlen == 0) /* there isn't one */
return;
+ if (!start) {
+ g->mlen = 0;
+ return;
+ }
+
/* turn it into a character string */
g->must = malloc((size_t)g->mlen + 1);
if (g->must == NULL) { /* argh; just forget it */
diff --git a/regex/regcomp.c b/regex/regcomp.c
index ec034d4c4c..d72cc82940 100644
--- a/regex/regcomp.c
+++ b/regex/regcomp.c
@@ -1553,6 +1553,11 @@ register struct re_guts *g;
if (g->mlen == 0) /* there isn't one */
return;
+ if (!start) {
+ g->mlen = 0;
+ return;
+ }
+
/* turn it into a character string */
g->must = malloc((size_t)g->mlen + 1);
if (g->must == NULL) { /* argh; just forget it */