summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-29 16:34:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-09-29 16:34:37 +0000
commit17ff3b9b85f4af24a0520ed8a8af33fd7085959a (patch)
treecb85f9a439a46c9f6597cbf02c7f2d73737c08ed /parse.y
parentb881747bbd8a41510cfe5d7aa073b1dd0442b9f5 (diff)
parse.y: fix memory leak
* parse.y (parser_free): fix memory leak at syntax error when warn-indent is enabled. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y9
1 files changed, 9 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index 38153e9ac1..a697834fd7 100644
--- a/parse.y
+++ b/parse.y
@@ -10630,6 +10630,15 @@ parser_free(void *ptr)
prev = local->prev;
xfree(local);
}
+#ifndef RIPPER
+ {
+ token_info *ptinfo;
+ while ((ptinfo = parser->token_info) != 0) {
+ parser->token_info = ptinfo->next;
+ xfree(ptinfo);
+ }
+ }
+#endif
xfree(ptr);
}