From 70a7855980731a9605c5643720680f299d90a125 Mon Sep 17 00:00:00 2001 From: Matt Kraai Date: Thu, 4 Jan 2001 02:00:17 +0000 Subject: Fix symbol table manipulation (report and fix by Larry Doolittle). --- insmod.c | 7 ++++--- modutils/insmod.c | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/insmod.c b/insmod.c index 7391b4f..a499bcd 100644 --- a/insmod.c +++ b/insmod.c @@ -78,7 +78,7 @@ #ifndef MODUTILS_MODULE_H #define MODUTILS_MODULE_H 1 -#ident "$Id: insmod.c,v 1.34 2000/12/22 01:48:07 kraai Exp $" +#ident "$Id: insmod.c,v 1.35 2001/01/04 02:00:17 kraai 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 @@ -284,7 +284,7 @@ int delete_module(const char *); #ifndef MODUTILS_OBJ_H #define MODUTILS_OBJ_H 1 -#ident "$Id: insmod.c,v 1.34 2000/12/22 01:48:07 kraai Exp $" +#ident "$Id: insmod.c,v 1.35 2001/01/04 02:00:17 kraai Exp $" /* The relocatable object is manipulated using elfin types. */ @@ -1704,7 +1704,8 @@ old_init_module(const char *m_name, struct obj_file *f, ksym->name = (unsigned long) str - (unsigned long) symtab; - str = strcpy(str, sym->name) + 1; + strcpy(str, sym->name); + str += strlen(sym->name) + 1; ksym++; } } diff --git a/modutils/insmod.c b/modutils/insmod.c index 7391b4f..a499bcd 100644 --- a/modutils/insmod.c +++ b/modutils/insmod.c @@ -78,7 +78,7 @@ #ifndef MODUTILS_MODULE_H #define MODUTILS_MODULE_H 1 -#ident "$Id: insmod.c,v 1.34 2000/12/22 01:48:07 kraai Exp $" +#ident "$Id: insmod.c,v 1.35 2001/01/04 02:00:17 kraai 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 @@ -284,7 +284,7 @@ int delete_module(const char *); #ifndef MODUTILS_OBJ_H #define MODUTILS_OBJ_H 1 -#ident "$Id: insmod.c,v 1.34 2000/12/22 01:48:07 kraai Exp $" +#ident "$Id: insmod.c,v 1.35 2001/01/04 02:00:17 kraai Exp $" /* The relocatable object is manipulated using elfin types. */ @@ -1704,7 +1704,8 @@ old_init_module(const char *m_name, struct obj_file *f, ksym->name = (unsigned long) str - (unsigned long) symtab; - str = strcpy(str, sym->name) + 1; + strcpy(str, sym->name); + str += strlen(sym->name) + 1; ksym++; } } -- cgit v1.1