diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-06-22 18:19:31 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-06-22 18:19:31 +0000 |
commit | 8a24a6783af7a0d54b1f2ebcda5b07757bd19c99 (patch) | |
tree | 701225f0b71041b7d4b47b7d8f25d26475fd323c | |
parent | 4a971aef5996f1bc87880000e97dbd480adb75a2 (diff) | |
download | busybox-w32-8a24a6783af7a0d54b1f2ebcda5b07757bd19c99.tar.gz busybox-w32-8a24a6783af7a0d54b1f2ebcda5b07757bd19c99.tar.bz2 busybox-w32-8a24a6783af7a0d54b1f2ebcda5b07757bd19c99.zip |
Better error checking in insmod. Remove left over %m's
-Erik
-rw-r--r-- | insmod.c | 34 | ||||
-rw-r--r-- | modutils/insmod.c | 34 |
2 files changed, 30 insertions, 38 deletions
@@ -71,7 +71,7 @@ | |||
71 | #ifndef MODUTILS_MODULE_H | 71 | #ifndef MODUTILS_MODULE_H |
72 | #define MODUTILS_MODULE_H 1 | 72 | #define MODUTILS_MODULE_H 1 |
73 | 73 | ||
74 | #ident "$Id: insmod.c,v 1.9 2000/06/19 19:53:30 andersen Exp $" | 74 | #ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" |
75 | 75 | ||
76 | /* This file contains the structures used by the 2.0 and 2.1 kernels. | 76 | /* This file contains the structures used by the 2.0 and 2.1 kernels. |
77 | We do not use the kernel headers directly because we do not wish | 77 | We do not use the kernel headers directly because we do not wish |
@@ -277,7 +277,7 @@ int delete_module(const char *); | |||
277 | #ifndef MODUTILS_OBJ_H | 277 | #ifndef MODUTILS_OBJ_H |
278 | #define MODUTILS_OBJ_H 1 | 278 | #define MODUTILS_OBJ_H 1 |
279 | 279 | ||
280 | #ident "$Id: insmod.c,v 1.9 2000/06/19 19:53:30 andersen Exp $" | 280 | #ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" |
281 | 281 | ||
282 | /* The relocatable object is manipulated using elfin types. */ | 282 | /* The relocatable object is manipulated using elfin types. */ |
283 | 283 | ||
@@ -1210,9 +1210,7 @@ old_process_module_arguments(struct obj_file *f, int argc, char **argv) | |||
1210 | str = alloca(strlen(q)); | 1210 | str = alloca(strlen(q)); |
1211 | for (r = str, q++; *q != '"'; ++q, ++r) { | 1211 | for (r = str, q++; *q != '"'; ++q, ++r) { |
1212 | if (*q == '\0') { | 1212 | if (*q == '\0') { |
1213 | fprintf(stderr, | 1213 | fprintf(stderr, "improperly terminated string argument for %s\n", p); |
1214 | "improperly terminated string argument for %s\n", | ||
1215 | p); | ||
1216 | return 0; | 1214 | return 0; |
1217 | } else if (*q == '\\') | 1215 | } else if (*q == '\\') |
1218 | switch (*++q) { | 1216 | switch (*++q) { |
@@ -1341,7 +1339,7 @@ static int old_get_kernel_symbols(void) | |||
1341 | 1339 | ||
1342 | nks = get_kernel_syms(NULL); | 1340 | nks = get_kernel_syms(NULL); |
1343 | if (nks < 0) { | 1341 | if (nks < 0) { |
1344 | perror("get_kernel_syms: %m"); | 1342 | errorMsg("get_kernel_syms: %s: %s", m_name, strerror(errno)); |
1345 | return 0; | 1343 | return 0; |
1346 | } | 1344 | } |
1347 | 1345 | ||
@@ -1522,7 +1520,7 @@ old_init_module(const char *m_name, struct obj_file *f, | |||
1522 | m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN | 1520 | m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN |
1523 | : 0), &routines, symtab); | 1521 | : 0), &routines, symtab); |
1524 | if (ret) | 1522 | if (ret) |
1525 | perror("init_module: %m"); | 1523 | errorMsg("init_module: %s: %s", m_name, strerror(errno)); |
1526 | 1524 | ||
1527 | free(image); | 1525 | free(image); |
1528 | free(symtab); | 1526 | free(symtab); |
@@ -1837,7 +1835,7 @@ static int new_get_kernel_symbols(void) | |||
1837 | module_names = xrealloc(module_names, bufsize = ret); | 1835 | module_names = xrealloc(module_names, bufsize = ret); |
1838 | goto retry_modules_load; | 1836 | goto retry_modules_load; |
1839 | } | 1837 | } |
1840 | perror("QM_MODULES: %m\n"); | 1838 | errorMsg("QM_MODULES: %s", strerror(errno)); |
1841 | return 0; | 1839 | return 0; |
1842 | } | 1840 | } |
1843 | 1841 | ||
@@ -1856,7 +1854,7 @@ static int new_get_kernel_symbols(void) | |||
1856 | /* The module was removed out from underneath us. */ | 1854 | /* The module was removed out from underneath us. */ |
1857 | continue; | 1855 | continue; |
1858 | } | 1856 | } |
1859 | perror("query_module: QM_INFO: %m"); | 1857 | errorMsg("query_module: QM_INFO: %s: %s", mn, strerror(errno)); |
1860 | return 0; | 1858 | return 0; |
1861 | } | 1859 | } |
1862 | 1860 | ||
@@ -1871,7 +1869,7 @@ static int new_get_kernel_symbols(void) | |||
1871 | /* The module was removed out from underneath us. */ | 1869 | /* The module was removed out from underneath us. */ |
1872 | continue; | 1870 | continue; |
1873 | default: | 1871 | default: |
1874 | perror("query_module: QM_SYMBOLS: %m"); | 1872 | errorMsg("query_module: QM_SYMBOLS: %s: %s", mn, strerror(errno)); |
1875 | return 0; | 1873 | return 0; |
1876 | } | 1874 | } |
1877 | } | 1875 | } |
@@ -1896,7 +1894,7 @@ static int new_get_kernel_symbols(void) | |||
1896 | syms = xrealloc(syms, bufsize = ret); | 1894 | syms = xrealloc(syms, bufsize = ret); |
1897 | goto retry_kern_sym_load; | 1895 | goto retry_kern_sym_load; |
1898 | } | 1896 | } |
1899 | perror("kernel: QM_SYMBOLS: %m"); | 1897 | errorMsg("kernel: QM_SYMBOLS: %s", strerror(errno)); |
1900 | return 0; | 1898 | return 0; |
1901 | } | 1899 | } |
1902 | nksyms = nsyms = ret; | 1900 | nksyms = nsyms = ret; |
@@ -2077,7 +2075,7 @@ new_init_module(const char *m_name, struct obj_file *f, | |||
2077 | 2075 | ||
2078 | ret = new_sys_init_module(m_name, (struct new_module *) image); | 2076 | ret = new_sys_init_module(m_name, (struct new_module *) image); |
2079 | if (ret) | 2077 | if (ret) |
2080 | perror("init_module: %m"); | 2078 | errorMsg("init_module: %s: %s", m_name, strerror(errno)); |
2081 | 2079 | ||
2082 | free(image); | 2080 | free(image); |
2083 | 2081 | ||
@@ -2457,7 +2455,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2457 | 2455 | ||
2458 | fseek(fp, 0, SEEK_SET); | 2456 | fseek(fp, 0, SEEK_SET); |
2459 | if (fread(&f->header, sizeof(f->header), 1, fp) != 1) { | 2457 | if (fread(&f->header, sizeof(f->header), 1, fp) != 1) { |
2460 | perror("error reading ELF header: %m"); | 2458 | errorMsg("error reading ELF header: %s", strerror(errno)); |
2461 | return NULL; | 2459 | return NULL; |
2462 | } | 2460 | } |
2463 | 2461 | ||
@@ -2496,7 +2494,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2496 | section_headers = alloca(sizeof(ElfW(Shdr)) * shnum); | 2494 | section_headers = alloca(sizeof(ElfW(Shdr)) * shnum); |
2497 | fseek(fp, f->header.e_shoff, SEEK_SET); | 2495 | fseek(fp, f->header.e_shoff, SEEK_SET); |
2498 | if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) { | 2496 | if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) { |
2499 | perror("error reading ELF section headers: %m"); | 2497 | errorMsg("error reading ELF section headers: %s", strerror(errno)); |
2500 | return NULL; | 2498 | return NULL; |
2501 | } | 2499 | } |
2502 | 2500 | ||
@@ -2526,8 +2524,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2526 | sec->contents = xmalloc(sec->header.sh_size); | 2524 | sec->contents = xmalloc(sec->header.sh_size); |
2527 | fseek(fp, sec->header.sh_offset, SEEK_SET); | 2525 | fseek(fp, sec->header.sh_offset, SEEK_SET); |
2528 | if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) { | 2526 | if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) { |
2529 | fprintf(stderr, | 2527 | errorMsg("error reading ELF section data: %s", strerror(errno)); |
2530 | "error reading ELF section data: %m\n"); | ||
2531 | return NULL; | 2528 | return NULL; |
2532 | } | 2529 | } |
2533 | } else { | 2530 | } else { |
@@ -2724,8 +2721,7 @@ extern int insmod_main( int argc, char **argv) | |||
2724 | if (m_filename[0] == '\0' | 2721 | if (m_filename[0] == '\0' |
2725 | || ((fp = fopen(m_filename, "r")) == NULL)) | 2722 | || ((fp = fopen(m_filename, "r")) == NULL)) |
2726 | { | 2723 | { |
2727 | perror("No module by that name found in " _PATH_MODULES | 2724 | errorMsg("No module named '%s' found in '%s'\n", m_fullName, _PATH_MODULES); |
2728 | "\n"); | ||
2729 | exit(FALSE); | 2725 | exit(FALSE); |
2730 | } | 2726 | } |
2731 | } | 2727 | } |
@@ -2857,7 +2853,7 @@ extern int insmod_main( int argc, char **argv) | |||
2857 | m_size); | 2853 | m_size); |
2858 | goto out; | 2854 | goto out; |
2859 | default: | 2855 | default: |
2860 | perror("create_module: %m"); | 2856 | errorMsg("create_module: %s: %s", m_name, strerror(errno)); |
2861 | goto out; | 2857 | goto out; |
2862 | } | 2858 | } |
2863 | 2859 | ||
diff --git a/modutils/insmod.c b/modutils/insmod.c index 9a6bf0f63..f6575c97f 100644 --- a/modutils/insmod.c +++ b/modutils/insmod.c | |||
@@ -71,7 +71,7 @@ | |||
71 | #ifndef MODUTILS_MODULE_H | 71 | #ifndef MODUTILS_MODULE_H |
72 | #define MODUTILS_MODULE_H 1 | 72 | #define MODUTILS_MODULE_H 1 |
73 | 73 | ||
74 | #ident "$Id: insmod.c,v 1.9 2000/06/19 19:53:30 andersen Exp $" | 74 | #ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" |
75 | 75 | ||
76 | /* This file contains the structures used by the 2.0 and 2.1 kernels. | 76 | /* This file contains the structures used by the 2.0 and 2.1 kernels. |
77 | We do not use the kernel headers directly because we do not wish | 77 | We do not use the kernel headers directly because we do not wish |
@@ -277,7 +277,7 @@ int delete_module(const char *); | |||
277 | #ifndef MODUTILS_OBJ_H | 277 | #ifndef MODUTILS_OBJ_H |
278 | #define MODUTILS_OBJ_H 1 | 278 | #define MODUTILS_OBJ_H 1 |
279 | 279 | ||
280 | #ident "$Id: insmod.c,v 1.9 2000/06/19 19:53:30 andersen Exp $" | 280 | #ident "$Id: insmod.c,v 1.10 2000/06/22 18:19:31 andersen Exp $" |
281 | 281 | ||
282 | /* The relocatable object is manipulated using elfin types. */ | 282 | /* The relocatable object is manipulated using elfin types. */ |
283 | 283 | ||
@@ -1210,9 +1210,7 @@ old_process_module_arguments(struct obj_file *f, int argc, char **argv) | |||
1210 | str = alloca(strlen(q)); | 1210 | str = alloca(strlen(q)); |
1211 | for (r = str, q++; *q != '"'; ++q, ++r) { | 1211 | for (r = str, q++; *q != '"'; ++q, ++r) { |
1212 | if (*q == '\0') { | 1212 | if (*q == '\0') { |
1213 | fprintf(stderr, | 1213 | fprintf(stderr, "improperly terminated string argument for %s\n", p); |
1214 | "improperly terminated string argument for %s\n", | ||
1215 | p); | ||
1216 | return 0; | 1214 | return 0; |
1217 | } else if (*q == '\\') | 1215 | } else if (*q == '\\') |
1218 | switch (*++q) { | 1216 | switch (*++q) { |
@@ -1341,7 +1339,7 @@ static int old_get_kernel_symbols(void) | |||
1341 | 1339 | ||
1342 | nks = get_kernel_syms(NULL); | 1340 | nks = get_kernel_syms(NULL); |
1343 | if (nks < 0) { | 1341 | if (nks < 0) { |
1344 | perror("get_kernel_syms: %m"); | 1342 | errorMsg("get_kernel_syms: %s: %s", m_name, strerror(errno)); |
1345 | return 0; | 1343 | return 0; |
1346 | } | 1344 | } |
1347 | 1345 | ||
@@ -1522,7 +1520,7 @@ old_init_module(const char *m_name, struct obj_file *f, | |||
1522 | m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN | 1520 | m_size | (flag_autoclean ? OLD_MOD_AUTOCLEAN |
1523 | : 0), &routines, symtab); | 1521 | : 0), &routines, symtab); |
1524 | if (ret) | 1522 | if (ret) |
1525 | perror("init_module: %m"); | 1523 | errorMsg("init_module: %s: %s", m_name, strerror(errno)); |
1526 | 1524 | ||
1527 | free(image); | 1525 | free(image); |
1528 | free(symtab); | 1526 | free(symtab); |
@@ -1837,7 +1835,7 @@ static int new_get_kernel_symbols(void) | |||
1837 | module_names = xrealloc(module_names, bufsize = ret); | 1835 | module_names = xrealloc(module_names, bufsize = ret); |
1838 | goto retry_modules_load; | 1836 | goto retry_modules_load; |
1839 | } | 1837 | } |
1840 | perror("QM_MODULES: %m\n"); | 1838 | errorMsg("QM_MODULES: %s", strerror(errno)); |
1841 | return 0; | 1839 | return 0; |
1842 | } | 1840 | } |
1843 | 1841 | ||
@@ -1856,7 +1854,7 @@ static int new_get_kernel_symbols(void) | |||
1856 | /* The module was removed out from underneath us. */ | 1854 | /* The module was removed out from underneath us. */ |
1857 | continue; | 1855 | continue; |
1858 | } | 1856 | } |
1859 | perror("query_module: QM_INFO: %m"); | 1857 | errorMsg("query_module: QM_INFO: %s: %s", mn, strerror(errno)); |
1860 | return 0; | 1858 | return 0; |
1861 | } | 1859 | } |
1862 | 1860 | ||
@@ -1871,7 +1869,7 @@ static int new_get_kernel_symbols(void) | |||
1871 | /* The module was removed out from underneath us. */ | 1869 | /* The module was removed out from underneath us. */ |
1872 | continue; | 1870 | continue; |
1873 | default: | 1871 | default: |
1874 | perror("query_module: QM_SYMBOLS: %m"); | 1872 | errorMsg("query_module: QM_SYMBOLS: %s: %s", mn, strerror(errno)); |
1875 | return 0; | 1873 | return 0; |
1876 | } | 1874 | } |
1877 | } | 1875 | } |
@@ -1896,7 +1894,7 @@ static int new_get_kernel_symbols(void) | |||
1896 | syms = xrealloc(syms, bufsize = ret); | 1894 | syms = xrealloc(syms, bufsize = ret); |
1897 | goto retry_kern_sym_load; | 1895 | goto retry_kern_sym_load; |
1898 | } | 1896 | } |
1899 | perror("kernel: QM_SYMBOLS: %m"); | 1897 | errorMsg("kernel: QM_SYMBOLS: %s", strerror(errno)); |
1900 | return 0; | 1898 | return 0; |
1901 | } | 1899 | } |
1902 | nksyms = nsyms = ret; | 1900 | nksyms = nsyms = ret; |
@@ -2077,7 +2075,7 @@ new_init_module(const char *m_name, struct obj_file *f, | |||
2077 | 2075 | ||
2078 | ret = new_sys_init_module(m_name, (struct new_module *) image); | 2076 | ret = new_sys_init_module(m_name, (struct new_module *) image); |
2079 | if (ret) | 2077 | if (ret) |
2080 | perror("init_module: %m"); | 2078 | errorMsg("init_module: %s: %s", m_name, strerror(errno)); |
2081 | 2079 | ||
2082 | free(image); | 2080 | free(image); |
2083 | 2081 | ||
@@ -2457,7 +2455,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2457 | 2455 | ||
2458 | fseek(fp, 0, SEEK_SET); | 2456 | fseek(fp, 0, SEEK_SET); |
2459 | if (fread(&f->header, sizeof(f->header), 1, fp) != 1) { | 2457 | if (fread(&f->header, sizeof(f->header), 1, fp) != 1) { |
2460 | perror("error reading ELF header: %m"); | 2458 | errorMsg("error reading ELF header: %s", strerror(errno)); |
2461 | return NULL; | 2459 | return NULL; |
2462 | } | 2460 | } |
2463 | 2461 | ||
@@ -2496,7 +2494,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2496 | section_headers = alloca(sizeof(ElfW(Shdr)) * shnum); | 2494 | section_headers = alloca(sizeof(ElfW(Shdr)) * shnum); |
2497 | fseek(fp, f->header.e_shoff, SEEK_SET); | 2495 | fseek(fp, f->header.e_shoff, SEEK_SET); |
2498 | if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) { | 2496 | if (fread(section_headers, sizeof(ElfW(Shdr)), shnum, fp) != shnum) { |
2499 | perror("error reading ELF section headers: %m"); | 2497 | errorMsg("error reading ELF section headers: %s", strerror(errno)); |
2500 | return NULL; | 2498 | return NULL; |
2501 | } | 2499 | } |
2502 | 2500 | ||
@@ -2526,8 +2524,7 @@ struct obj_file *obj_load(FILE * fp) | |||
2526 | sec->contents = xmalloc(sec->header.sh_size); | 2524 | sec->contents = xmalloc(sec->header.sh_size); |
2527 | fseek(fp, sec->header.sh_offset, SEEK_SET); | 2525 | fseek(fp, sec->header.sh_offset, SEEK_SET); |
2528 | if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) { | 2526 | if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) { |
2529 | fprintf(stderr, | 2527 | errorMsg("error reading ELF section data: %s", strerror(errno)); |
2530 | "error reading ELF section data: %m\n"); | ||
2531 | return NULL; | 2528 | return NULL; |
2532 | } | 2529 | } |
2533 | } else { | 2530 | } else { |
@@ -2724,8 +2721,7 @@ extern int insmod_main( int argc, char **argv) | |||
2724 | if (m_filename[0] == '\0' | 2721 | if (m_filename[0] == '\0' |
2725 | || ((fp = fopen(m_filename, "r")) == NULL)) | 2722 | || ((fp = fopen(m_filename, "r")) == NULL)) |
2726 | { | 2723 | { |
2727 | perror("No module by that name found in " _PATH_MODULES | 2724 | errorMsg("No module named '%s' found in '%s'\n", m_fullName, _PATH_MODULES); |
2728 | "\n"); | ||
2729 | exit(FALSE); | 2725 | exit(FALSE); |
2730 | } | 2726 | } |
2731 | } | 2727 | } |
@@ -2857,7 +2853,7 @@ extern int insmod_main( int argc, char **argv) | |||
2857 | m_size); | 2853 | m_size); |
2858 | goto out; | 2854 | goto out; |
2859 | default: | 2855 | default: |
2860 | perror("create_module: %m"); | 2856 | errorMsg("create_module: %s: %s", m_name, strerror(errno)); |
2861 | goto out; | 2857 | goto out; |
2862 | } | 2858 | } |
2863 | 2859 | ||