summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y9
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a40d29994d..c11a4a4b67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Sep 30 01:34:34 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (parser_free): fix memory leak at syntax error when
+ warn-indent is enabled.
+
Tue Sep 29 22:27:50 2015 Benoit Daloze <eregontp@gmail.com>
* parse.y: fix minor typo. [ci skip][fix GH-1038].
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);
}