aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZiemowit Laski <zlaski@apple.com>2004-12-10 21:08:22 +0000
committerZiemowit Laski <zlaski@gcc.gnu.org>2004-12-10 21:08:22 +0000
commit22a0b85fcc5fa97ce23a405386527be7521265ce (patch)
tree85e04f0194bb4106dcf0815a403023b1edcf923d /gcc
parentef0b4f287a17c1c9543e835b8dca60adaf916a6f (diff)
downloadgcc-22a0b85fcc5fa97ce23a405386527be7521265ce.zip
gcc-22a0b85fcc5fa97ce23a405386527be7521265ce.tar.gz
gcc-22a0b85fcc5fa97ce23a405386527be7521265ce.tar.bz2
c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before dereferencing it.
[gcc/ChangeLog] 2004-12-10 Ziemowit Laski <zlaski@apple.com> * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC pointer field is set before dereferencing it. From-SVN: r92007
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-typeck.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6df6bfb..ca808b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-12-10 Ziemowit Laski <zlaski@apple.com>
+
+ * c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
+ pointer field is set before dereferencing it.
+
2004-12-10 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/18903
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index e5c8ef5..b3f1872 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -1377,7 +1377,7 @@ lookup_field (tree decl, tree component)
find the element. Otherwise, do a linear search. TYPE_LANG_SPECIFIC
will always be set for structures which have many elements. */
- if (TYPE_LANG_SPECIFIC (type))
+ if (TYPE_LANG_SPECIFIC (type) && TYPE_LANG_SPECIFIC (type)->s)
{
int bot, top, half;
tree *field_array = &TYPE_LANG_SPECIFIC (type)->s->elts[0];