* cgen.c (gas_cgen_parse_operand): Guard against NULL pointers.
authorDJ Delorie <dj@redhat.com>
Wed, 13 May 2009 21:41:38 +0000 (21:41 +0000)
committerDJ Delorie <dj@redhat.com>
Wed, 13 May 2009 21:41:38 +0000 (21:41 +0000)
gas/ChangeLog
gas/cgen.c

index c49a116f0135dcdfea64cce4630ad47769bb572d..1c1fbb2bb4cce363cb4038b252f0ae0012ba8ee5 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-13  DJ Delorie  <dj@redhat.com>
+
+       * cgen.c (gas_cgen_parse_operand): Guard against NULL pointers.
+
 2009-05-13  Andrew Jenner  <andrew@codesourcery.com>
 
        * config/tc-arm.c: Move as.h to start of file.
index 178402af27bc8a1d4c8e67eff739fe7d048a3b18..79a46f668a964262f45ef9efc4ce06b45be115ba 100644 (file)
@@ -452,9 +452,10 @@ gas_cgen_parse_operand (cd, want, strP, opindex, opinfo, resultP, valueP)
          if (exp.X_op == O_symbol
              && reloc_type == BFD_RELOC_RELC
              && exp.X_add_symbol->sy_value.X_op == O_constant
-             && exp.X_add_symbol->bsym->section != expr_section
-             && exp.X_add_symbol->bsym->section != absolute_section
-             && exp.X_add_symbol->bsym->section != undefined_section)
+             && (!exp.X_add_symbol->bsym
+                 || (exp.X_add_symbol->bsym->section != expr_section
+                     && exp.X_add_symbol->bsym->section != absolute_section
+                     && exp.X_add_symbol->bsym->section != undefined_section)))
            {
              /* Local labels will have been (eagerly) turned into constants
                 by now, due to the inappropriately deep insight of the