summaryrefslogtreecommitdiff
path: root/regparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'regparse.c')
-rw-r--r--regparse.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/regparse.c b/regparse.c
index c70faaa34e..69f700986c 100644
--- a/regparse.c
+++ b/regparse.c
@@ -5770,6 +5770,10 @@ create_sequence_node(Node **np, Node **node_array)
while (--i >= 0) {
*np = node_new_list(node_array[i], tmp);
if (IS_NULL(*np)) {
+ while (i >= 0) {
+ onig_node_free(node_array[i]);
+ node_array[i--] = NULL_NODE;
+ }
onig_node_free(tmp);
return ONIGERR_MEMORY;
}