Patch from OpenWrt.
authorManuel Novoa III <mjn3@codepoet.org>
Wed, 18 Feb 2004 10:14:17 +0000 (10:14 -0000)
committerManuel Novoa III <mjn3@codepoet.org>
Wed, 18 Feb 2004 10:14:17 +0000 (10:14 -0000)
modutils/insmod.c

index 5960b591de5fb0d8af6729d6e52e83d4ee4fb3d2..73259131b97713f0f3944b5c3060ed193058b712 100644 (file)
@@ -282,7 +282,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #ifndef MODUTILS_MODULE_H
 static const int MODUTILS_MODULE_H = 1;
 
-#ident "$Id: insmod.c,v 1.111 2004/01/05 23:49:37 andersen Exp $"
+#ident "$Id: insmod.c,v 1.112 2004/02/18 10:14:17 mjn3 Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -503,7 +503,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 static const int MODUTILS_OBJ_H = 1;
 
-#ident "$Id: insmod.c,v 1.111 2004/01/05 23:49:37 andersen Exp $"
+#ident "$Id: insmod.c,v 1.112 2004/02/18 10:14:17 mjn3 Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -3589,8 +3589,10 @@ static struct obj_file *obj_load(FILE * fp, int loadprogbits)
                                                const char *name;
                                                if (sym->st_name)
                                                        name = strtab + sym->st_name;
-                                               else
+                                               else if (sym->st_shndx < shnum)
                                                        name = f->sections[sym->st_shndx]->name;
+                                               else
+                                                       continue;
 
 #if defined(__SH5__)
                                                /*