* Fixed insmod module option parsing for options lacking an '='.

Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
 -Erik
This commit is contained in:
Eric Andersen 2000-06-26 11:16:22 +00:00
parent 3adffb7fc8
commit ef40aa81c5
3 changed files with 18 additions and 8 deletions

View File

@ -4,6 +4,8 @@
"none" entries in /proc/mounts, added a hack to make sysinfo "none" entries in /proc/mounts, added a hack to make sysinfo
work with both old and new kernels). work with both old and new kernels).
* Fixed a nasty bug in tar when could mess up saved symlinks. * Fixed a nasty bug in tar when could mess up saved symlinks.
* Fixed insmod module option parsing for options lacking an '='.
Fix thanks to Marc Nijdam <marc_nijdam@hp.com>
-Erik Andersen -Erik Andersen

View File

@ -71,7 +71,7 @@
#ifndef MODUTILS_MODULE_H #ifndef MODUTILS_MODULE_H
#define MODUTILS_MODULE_H 1 #define MODUTILS_MODULE_H 1
#ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" #ident "$Id: insmod.c,v 1.11 2000/06/26 11:16:22 andersen Exp $"
/* This file contains the structures used by the 2.0 and 2.1 kernels. /* 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 We do not use the kernel headers directly because we do not wish
@ -277,7 +277,7 @@ int delete_module(const char *);
#ifndef MODUTILS_OBJ_H #ifndef MODUTILS_OBJ_H
#define MODUTILS_OBJ_H 1 #define MODUTILS_OBJ_H 1
#ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" #ident "$Id: insmod.c,v 1.11 2000/06/26 11:16:22 andersen Exp $"
/* The relocatable object is manipulated using elfin types. */ /* The relocatable object is manipulated using elfin types. */
@ -1189,8 +1189,10 @@ old_process_module_arguments(struct obj_file *f, int argc, char **argv)
int *loc; int *loc;
p = *argv; p = *argv;
if ((q = strchr(p, '=')) == NULL) if ((q = strchr(p, '=')) == NULL) {
argc--;
continue; continue;
}
*q++ = '\0'; *q++ = '\0';
sym = obj_find_symbol(f, p); sym = obj_find_symbol(f, p);
@ -1550,8 +1552,10 @@ new_process_module_arguments(struct obj_file *f, int argc, char **argv)
int min, max, n; int min, max, n;
p = *argv; p = *argv;
if ((q = strchr(p, '=')) == NULL) if ((q = strchr(p, '=')) == NULL) {
argc--;
continue; continue;
}
key = alloca(q - p + 6); key = alloca(q - p + 6);
memcpy(key, "parm_", 5); memcpy(key, "parm_", 5);

View File

@ -71,7 +71,7 @@
#ifndef MODUTILS_MODULE_H #ifndef MODUTILS_MODULE_H
#define MODUTILS_MODULE_H 1 #define MODUTILS_MODULE_H 1
#ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" #ident "$Id: insmod.c,v 1.11 2000/06/26 11:16:22 andersen Exp $"
/* This file contains the structures used by the 2.0 and 2.1 kernels. /* 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 We do not use the kernel headers directly because we do not wish
@ -277,7 +277,7 @@ int delete_module(const char *);
#ifndef MODUTILS_OBJ_H #ifndef MODUTILS_OBJ_H
#define MODUTILS_OBJ_H 1 #define MODUTILS_OBJ_H 1
#ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" #ident "$Id: insmod.c,v 1.11 2000/06/26 11:16:22 andersen Exp $"
/* The relocatable object is manipulated using elfin types. */ /* The relocatable object is manipulated using elfin types. */
@ -1189,8 +1189,10 @@ old_process_module_arguments(struct obj_file *f, int argc, char **argv)
int *loc; int *loc;
p = *argv; p = *argv;
if ((q = strchr(p, '=')) == NULL) if ((q = strchr(p, '=')) == NULL) {
argc--;
continue; continue;
}
*q++ = '\0'; *q++ = '\0';
sym = obj_find_symbol(f, p); sym = obj_find_symbol(f, p);
@ -1550,8 +1552,10 @@ new_process_module_arguments(struct obj_file *f, int argc, char **argv)
int min, max, n; int min, max, n;
p = *argv; p = *argv;
if ((q = strchr(p, '=')) == NULL) if ((q = strchr(p, '=')) == NULL) {
argc--;
continue; continue;
}
key = alloca(q - p + 6); key = alloca(q - p + 6);
memcpy(key, "parm_", 5); memcpy(key, "parm_", 5);