# DP: Backport patch from the 4.7 branch, fixing gengtype memory issue.

gcc/

2011-04-21  Dimitrios Apostolou  <jimis@gmx.net>
	    Jeff Law  <law@redhat.com>

	* gengtype-state.c (read_a_state_token): Fix argument to 
	obstack_free.
	* gengtype.c (matching_file_name_substitute): Likewise.

Index: gcc/gengtype-state.c
===================================================================
--- a/src/gcc/gengtype-state.c	(revision 172831)
+++ b/src/gcc/gengtype-state.c	(revision 172832)
@@ -303,7 +303,7 @@
       obstack_1grow (&id_obstack, (char) 0);
       ids = XOBFINISH (&id_obstack, char *);
       sid = state_ident_by_name (ids, INSERT);
-      obstack_free (&id_obstack, ids);
+      obstack_free (&id_obstack, NULL);
       ids = NULL;
       tk = XCNEW (struct state_token_st);
       tk->stok_kind = STOK_NAME;
@@ -408,7 +408,7 @@
       tk->stok_file = state_path;
       tk->stok_next = NULL;
       strcpy (tk->stok_un.stok_string, cstr);
-      obstack_free (&bstring_obstack, cstr);
+      obstack_free (&bstring_obstack, NULL);
 
       return tk;
     }
Index: gcc/gengtype.c
===================================================================
--- a/src/gcc/gengtype.c	(revision 172831)
+++ b/src/gcc/gengtype.c	(revision 172832)
@@ -1943,7 +1943,7 @@
   obstack_1grow (&str_obstack, '\0');
   rawstr = XOBFINISH (&str_obstack, char *);
   str = xstrdup (rawstr);
-  obstack_free (&str_obstack, rawstr);
+  obstack_free (&str_obstack, NULL);
   DBGPRINTF ("matched replacement %s", str);
   rawstr = NULL;
   return str;
