From cdc69c4ccbe8fb5d173c1976e71b06aeb756b666 Mon Sep 17 00:00:00 2001 From: Dmitry Mikhirev Date: Sat, 15 Nov 2014 12:05:30 +0300 Subject: gmk_free strings returned by gmk_expand --- pcre.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pcre.c b/pcre.c index c93382b..73bf0fd 100644 --- a/pcre.c +++ b/pcre.c @@ -36,7 +36,7 @@ char *match(const char *name, int argc, char **argv) pcre *re; const char *err; int erroffset; - char *str; + char *str = NULL; int ncap = 0; int ovec[MAX_CAP*3]; char *retstr = NULL; @@ -86,6 +86,7 @@ char *match(const char *name, int argc, char **argv) re = pcre_compile(argv[0], 0, &err, &erroffset, NULL); } else { re = pcre_compile(pat, 0, &err, &erroffset, NULL); + gmk_free(pat); } if (re == NULL) { fprintf(stderr, "%s: %d: %s\n", name, erroffset, err); @@ -113,6 +114,9 @@ end_match: *(str + ovec[i*2 + 1]) = c; gmk_eval(mk_set, NULL); } + if (str != NULL) { + gmk_free(str); + } return retstr; } -- cgit v1.2.1