diff options
-rw-r--r-- | modutils/modutils.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/modutils/modutils.c b/modutils/modutils.c index ef4f6191b..44dae7bc5 100644 --- a/modutils/modutils.c +++ b/modutils/modutils.c @@ -5,7 +5,6 @@ * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ - #include "modutils.h" #ifdef __UCLIBC__ @@ -111,9 +110,9 @@ char * FAST_FUNC parse_cmdline_module_options(char **argv) int FAST_FUNC bb_init_module(const char *filename, const char *options) { - size_t len = MAXINT(ssize_t); + size_t len; char *image; - int rc = ENOENT; + int rc; if (!options) options = ""; @@ -124,10 +123,12 @@ int FAST_FUNC bb_init_module(const char *filename, const char *options) #endif /* Use the 2.6 way */ + len = INT_MAX - 4095; + rc = ENOENT; image = xmalloc_open_zipped_read_close(filename, &len); if (image) { rc = 0; - if (init_module(image, len, options ? options : "") != 0) + if (init_module(image, len, options) != 0) rc = errno; free(image); } |