aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2001-01-04 02:00:17 +0000
committerMatt Kraai <kraai@debian.org>2001-01-04 02:00:17 +0000
commit70a7855980731a9605c5643720680f299d90a125 (patch)
tree689f6b27d3e5809b625682fd860ab4d2475c9018
parent1171c2fcb48026066d96793a852c06e5125b1fc9 (diff)
downloadbusybox-70a7855980731a9605c5643720680f299d90a125.tar.gz
Fix symbol table manipulation (report and fix by Larry Doolittle).
-rw-r--r--insmod.c7
-rw-r--r--modutils/insmod.c7
2 files changed, 8 insertions, 6 deletions
diff --git a/insmod.c b/insmod.c
index 7391b4fb2..a499bcdaa 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 7391b4fb2..a499bcdaa 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++;
}
}