aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-06-22 18:19:31 +0000
committerEric Andersen <andersen@codepoet.org>2000-06-22 18:19:31 +0000
commit8a24a6783af7a0d54b1f2ebcda5b07757bd19c99 (patch)
tree701225f0b71041b7d4b47b7d8f25d26475fd323c
parent4a971aef5996f1bc87880000e97dbd480adb75a2 (diff)
downloadbusybox-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.c34
-rw-r--r--modutils/insmod.c34
2 files changed, 30 insertions, 38 deletions
diff --git a/insmod.c b/insmod.c
index 9a6bf0f63..f6575c97f 100644
--- a/insmod.c
+++ b/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
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