diff options
author | Xin LI <delphij@FreeBSD.org> | 2014-12-19 06:48:47 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2014-12-19 06:48:47 +0000 |
commit | cfbebadc603ad85459bd6f189c192d3ad44f6b43 (patch) | |
tree | 4c979a24e37d4c480cbdc76e75790ee1ce9bc4ec /lib/libc/regex | |
parent | bbd01a41002e32b1198e5a73d3d439c7bd8818e5 (diff) | |
download | src-cfbebadc603ad85459bd6f189c192d3ad44f6b43.tar.gz src-cfbebadc603ad85459bd6f189c192d3ad44f6b43.zip |
Plug a memory leak.
Obtained from: DragonFlyBSD (commit 5119ece)
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=275930
Diffstat (limited to 'lib/libc/regex')
-rw-r--r-- | lib/libc/regex/regcomp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c index a01bb95931bf..2ecb88c54a93 100644 --- a/lib/libc/regex/regcomp.c +++ b/lib/libc/regex/regcomp.c @@ -1716,8 +1716,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 */ + 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++) |