tree.c (restore_tree_status): Do not dereference a null pointer.
authorJeffrey A Law <law@cygnus.com>
Wed, 24 Dec 1997 21:33:48 +0000 (21:33 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 24 Dec 1997 21:33:48 +0000 (14:33 -0700)
        * tree.c (restore_tree_status): Do not dereference a null pointer.
Brought over from devo.  SHould fix 921215-1.c compilation failures.

From-SVN: r17225

gcc/ChangeLog
gcc/tree.c

index 454c7f6ab47efebeef32529a541de13f06882227..899078d16681aea7af53a9e9a5368423b5886956 100644 (file)
@@ -1,3 +1,7 @@
+Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * tree.c (restore_tree_status): Do not dereference a null pointer.
+
 Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>:
 
        * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
index 492b6734961af59a7688853357812a58c4e24463..b7d06e372b453e396b4c88658867590fd37fcec9 100644 (file)
@@ -445,13 +445,16 @@ restore_tree_status (p, context)
     {
       struct simple_obstack_stack *current, **p = &toplev_inline_obstacks;
 
-      while ((*p)->obstack != function_maybepermanent_obstack)
-       p = &((*p)->next);
-      current = *p;
-      *p = current->next;
+      if ((*p) != NULL)
+       {
+         while ((*p)->obstack != function_maybepermanent_obstack)
+           p = &((*p)->next);
+         current = *p;
+         *p = current->next;
 
-      current->next = extra_inline_obstacks;
-      extra_inline_obstacks = current;
+         current->next = extra_inline_obstacks;
+         extra_inline_obstacks = current;
+       }
     }
 
   obstack_free (function_obstack, 0);