From: Jim Meyering Date: Tue, 24 Apr 2012 12:07:30 +0000 (+0000) Subject: genattrtab: avoid NULL-deref on error X-Git-Tag: upstream/12.2.0~76720 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=57f10fe5f4d2fc34f2d657ee39f753d1e8ff7818;p=platform%2Fupstream%2Fgcc.git genattrtab: avoid NULL-deref on error * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing absence of an define_enum call. From-SVN: r186761 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f02bf71..fb6aea6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-02-24 Jim Meyering + + * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing + absence of an define_enum call. + 2012-04-24 Richard Guenther * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index 4a4c2a2..bfbe3e8 100644 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -1,6 +1,6 @@ /* Generate code from machine description to compute values of attributes. Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) @@ -2993,8 +2993,9 @@ gen_attr (rtx exp, int lineno) if (!et || !et->md_p) error_with_line (lineno, "No define_enum called `%s' defined", attr->name); - for (ev = et->values; ev; ev = ev->next) - add_attr_value (attr, ev->name); + if (et) + for (ev = et->values; ev; ev = ev->next) + add_attr_value (attr, ev->name); } else if (*XSTR (exp, 1) == '\0') attr->is_numeric = 1;