diff options
author | Reuben Thomas <rrt@sc3d.org> | 2010-08-20 22:14:43 +0100 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2010-08-20 22:14:43 +0100 |
commit | 68665b65a3941225bce917573b77d78462aac9ee (patch) | |
tree | 9c67679f9e3c53bfee65346aa2a96f25243a52b1 /src | |
parent | e1f0310b0f30357b152ed3cbaba492fd7da92103 (diff) | |
download | lrexlib-68665b65a3941225bce917573b77d78462aac9ee.tar.gz |
Shorten if (p) free(p) to free(p) and fix a space leak in gnu.c (call
regfree).
Diffstat (limited to 'src')
-rw-r--r-- | src/gnu/lgnu.c | 7 | ||||
-rw-r--r-- | src/pcre/lpcre.c | 2 | ||||
-rw-r--r-- | src/posix/lposix.c | 3 | ||||
-rw-r--r-- | src/tre/ltre.c | 3 |
4 files changed, 6 insertions, 9 deletions
diff --git a/src/gnu/lgnu.c b/src/gnu/lgnu.c index 9e3dd50..1f9d76b 100644 --- a/src/gnu/lgnu.c +++ b/src/gnu/lgnu.c @@ -260,10 +260,9 @@ static int Gnu_gc (lua_State *L) { TGnu *ud = check_ud (L); if (ud->freed == 0) { /* precaution against "manual" __gc calling */ ud->freed = 1; - if (ud->r.regs_allocated != REGS_UNALLOCATED) { - free (ud->match.start); - free (ud->match.end); - } + regfree (&ud->r); + free (ud->match.start); + free (ud->match.end); } return 0; } diff --git a/src/pcre/lpcre.c b/src/pcre/lpcre.c index bf72f13..ee65859 100644 --- a/src/pcre/lpcre.c +++ b/src/pcre/lpcre.c @@ -337,7 +337,7 @@ static int Lpcre_gc (lua_State *L) { if (ud->pr) pcre_free (ud->pr); if (ud->extra) pcre_free (ud->extra); if (ud->tables) pcre_free ((void *)ud->tables); - if (ud->match) free (ud->match); + free (ud->match); } return 0; } diff --git a/src/posix/lposix.c b/src/posix/lposix.c index aa500ac..16e61ed 100644 --- a/src/posix/lposix.c +++ b/src/posix/lposix.c @@ -193,8 +193,7 @@ static int Posix_gc (lua_State *L) { if (ud->freed == 0) { /* precaution against "manual" __gc calling */ ud->freed = 1; regfree (&ud->r); - if (ud->match) - free (ud->match); + free (ud->match); } return 0; } diff --git a/src/tre/ltre.c b/src/tre/ltre.c index 0b1f1af..cdbe3bd 100644 --- a/src/tre/ltre.c +++ b/src/tre/ltre.c @@ -208,8 +208,7 @@ static int Ltre_gc (lua_State *L) { if (ud->freed == 0) { /* precaution against "manual" __gc calling */ ud->freed = 1; tre_regfree (&ud->r); - if (ud->match) - free (ud->match); + free (ud->match); } return 0; } |