summaryrefslogtreecommitdiff
path: root/regparse.c
diff options
context:
space:
mode:
authorDavid Carlier <[email protected]>2022-03-23 21:47:46 +0000
committerHiroshi SHIBATA <[email protected]>2024-09-26 16:34:22 +0900
commit8cd295ecf09e9419de0e3f3d4eecabfb430f9df1 (patch)
tree69e1448576bcf2b16cf45a843331b2da1368db2b /regparse.c
parenta3fd24e22e4f7c38db891e1ddf8ea3461d28659f (diff)
regparse possible memory leak fix proposal
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5700
Diffstat (limited to 'regparse.c')
-rw-r--r--regparse.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/regparse.c b/regparse.c
index 33815f2445..6f1fbf8191 100644
--- a/regparse.c
+++ b/regparse.c
@@ -6682,7 +6682,10 @@ parse_subexp(Node** top, OnigToken* tok, int term,
headp = &(NCDR(*top));
while (r == TK_ALT) {
r = fetch_token(tok, src, end, env);
- if (r < 0) return r;
+ if (r < 0) {
+ onig_node_free(node);
+ return r;
+ }
r = parse_branch(&node, tok, term, src, end, env);
if (r < 0) {
onig_node_free(node);