Fix a null pointer dereference when reading the debug link info from a corrupt file.
[deliverable/binutils-gdb.git] / bfd / cpu-i960.c
index a6c8eb256e76a10f39b7d4c83a83ba3781d2f2ca..bdcae8c5ba88152dfae0435f9b7cd16a7404b86e 100644 (file)
@@ -1,6 +1,5 @@
 /* BFD library support routines for the i960 architecture.
 /* BFD library support routines for the i960 architecture.
-   Copyright 1990, 1991, 1993, 1994, 1996, 1999, 2000, 2001, 2002, 2006,
-   2007 Free Software Foundation, Inc.
+   Copyright (C) 1990-2014 Free Software Foundation, Inc.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
    Hacked by Steve Chamberlain of Cygnus Support.
 
    This file is part of BFD, the Binary File Descriptor library.
 #include "bfd.h"
 #include "libbfd.h"
 
 #include "bfd.h"
 #include "libbfd.h"
 
-static bfd_boolean scan_960_mach
-  PARAMS ((const bfd_arch_info_type *, const char *));
-static const bfd_arch_info_type *compatible
-  PARAMS ((const bfd_arch_info_type *, const bfd_arch_info_type *));
-
 /* This routine is provided a string, and tries to work out if it
    could possibly refer to the i960 machine pointed at in the
    info_struct pointer */
 
 static bfd_boolean
 /* This routine is provided a string, and tries to work out if it
    could possibly refer to the i960 machine pointed at in the
    info_struct pointer */
 
 static bfd_boolean
-scan_960_mach (ap, string)
-     const bfd_arch_info_type *ap;
-     const char *string;
+scan_960_mach (const bfd_arch_info_type *ap,
+              const char *string)
 {
   unsigned long machine;
   int fail_because_not_80960 = FALSE;
 {
   unsigned long machine;
   int fail_because_not_80960 = FALSE;
@@ -117,9 +110,8 @@ scan_960_mach (ap, string)
    to its info structure */
 
 static const bfd_arch_info_type *
    to its info structure */
 
 static const bfd_arch_info_type *
-compatible (a,b)
-     const bfd_arch_info_type *a;
-     const bfd_arch_info_type *b;
+compatible (const bfd_arch_info_type *a,
+           const bfd_arch_info_type *b)
 {
 
   /* The i960 has distinct subspecies which may not interbreed:
 {
 
   /* The i960 has distinct subspecies which may not interbreed:
@@ -156,17 +148,14 @@ compatible (a,b)
     };
 
   if (a->arch != b->arch || matrix[a->mach][b->mach] == ERROR)
     };
 
   if (a->arch != b->arch || matrix[a->mach][b->mach] == ERROR)
-    {
     return NULL;
     return NULL;
-    }
-  else
-    {
-    return (a->mach  ==  matrix[a->mach][b->mach]) ?  a : b;
-    }
+
+  return (a->mach  ==  matrix[a->mach][b->mach]) ?  a : b;
 }
 
 #define N(a,b,d,n) \
 }
 
 #define N(a,b,d,n) \
-{ 32, 32, 8,bfd_arch_i960,a,"i960",b,3,d,compatible,scan_960_mach,n,}
+{ 32, 32, 8,bfd_arch_i960,a,"i960",b,3,d,compatible,scan_960_mach, \
+  bfd_arch_default_fill, n,}
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
This page took 0.024657 seconds and 4 git commands to generate.