Selaa lähdekoodia

if argv[0] is NULL, dont try to parse it and subsequently crash ... found by running execve05 ltp test on blackfin ([#4194])

Mike Frysinger 17 vuotta sitten
vanhempi
commit
63342ff906
1 muutettua tiedostoa jossa 8 lisäystä ja 6 poistoa
  1. 8 6
      libc/misc/internals/__uClibc_main.c

+ 8 - 6
libc/misc/internals/__uClibc_main.c

@@ -336,12 +336,14 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
 
 
     __uclibc_progname = *argv;
     __uclibc_progname = *argv;
 #ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
 #ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
-    program_invocation_name = *argv;
+    if (*argv != NULL) {
-    program_invocation_short_name = strrchr(*argv, '/');
+	program_invocation_name = *argv;
-    if (program_invocation_short_name != NULL)
+	program_invocation_short_name = strrchr(*argv, '/');
-	++program_invocation_short_name;
+	if (program_invocation_short_name != NULL)
-    else
+	    ++program_invocation_short_name;
-	program_invocation_short_name = program_invocation_name;
+	else
+	    program_invocation_short_name = program_invocation_name;
+    }
 #endif
 #endif
 
 
 #ifdef __UCLIBC_CTOR_DTOR__
 #ifdef __UCLIBC_CTOR_DTOR__