aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2009-02-26 12:00:52 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2009-02-26 12:00:52 +0000
commit48637e0924dcd13629ebf3aeffa80cdda1beb5af (patch)
tree5a3eaec93fc5c5f1b29598c50e6f70851eff06db
parent9aa5c652e9335650428fddc0b84037853a06256c (diff)
downloadbusybox-w32-48637e0924dcd13629ebf3aeffa80cdda1beb5af.tar.gz
busybox-w32-48637e0924dcd13629ebf3aeffa80cdda1beb5af.tar.bz2
busybox-w32-48637e0924dcd13629ebf3aeffa80cdda1beb5af.zip
modutils: oveflow fix
-rw-r--r--modutils/modutils.c2
-rw-r--r--modutils/modutils.h5
2 files changed, 4 insertions, 3 deletions
diff --git a/modutils/modutils.c b/modutils/modutils.c
index 0d7d72d8b..8836f7c69 100644
--- a/modutils/modutils.c
+++ b/modutils/modutils.c
@@ -71,7 +71,7 @@ char * FAST_FUNC filename2modname(const char *filename, char *modname)
71 if (modname == NULL) 71 if (modname == NULL)
72 modname = xmalloc(MODULE_NAME_LEN); 72 modname = xmalloc(MODULE_NAME_LEN);
73 from = bb_get_last_path_component_nostrip(filename); 73 from = bb_get_last_path_component_nostrip(filename);
74 for (i = 0; i < MODULE_NAME_LEN && from[i] != '\0' && from[i] != '.'; i++) 74 for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
75 modname[i] = (from[i] == '-') ? '_' : from[i]; 75 modname[i] = (from[i] == '-') ? '_' : from[i];
76 modname[i] = 0; 76 modname[i] = 0;
77 77
diff --git a/modutils/modutils.h b/modutils/modutils.h
index 6aaf79daa..cc7c65351 100644
--- a/modutils/modutils.h
+++ b/modutils/modutils.h
@@ -15,8 +15,9 @@
15# pragma GCC visibility push(hidden) 15# pragma GCC visibility push(hidden)
16#endif 16#endif
17 17
18/* As defined in linux/include/linux/module.h */ 18/* linux/include/linux/module.h has 64, but this is also used
19#define MODULE_NAME_LEN 64 19 * internally for the maximum alias name length, which can be quite long */
20#define MODULE_NAME_LEN 256
20 21
21const char *moderror(int err) FAST_FUNC; 22const char *moderror(int err) FAST_FUNC;
22llist_t *llist_find(llist_t *first, const char *str) FAST_FUNC; 23llist_t *llist_find(llist_t *first, const char *str) FAST_FUNC;