diff options
author | David Carlier <[email protected]> | 2022-03-23 21:47:46 +0000 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2024-09-26 16:34:22 +0900 |
commit | 8cd295ecf09e9419de0e3f3d4eecabfb430f9df1 (patch) | |
tree | 69e1448576bcf2b16cf45a843331b2da1368db2b /regparse.c | |
parent | a3fd24e22e4f7c38db891e1ddf8ea3461d28659f (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.c | 5 |
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); |