summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/regex/regcomp.c
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/regex/regcomp.c')
-rw-r--r--winsup/cygwin/regex/regcomp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/regex/regcomp.c b/winsup/cygwin/regex/regcomp.c
index b68db99c7..d68dcc32a 100644
--- a/winsup/cygwin/regex/regcomp.c
+++ b/winsup/cygwin/regex/regcomp.c
@@ -1803,7 +1803,10 @@ computematchjumps(struct parse *p, struct re_guts *g)
g->matchjump = (int*) malloc(g->mlen * sizeof(unsigned int));
if (g->matchjump == NULL) /* Not a fatal error */
+ {
+ free (pmatches);
return;
+ }
/* Set maximum possible jump for each character in the pattern */
for (mindex = 0; mindex < g->mlen; mindex++)