Răsfoiți Sursa

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 ani în urmă
părinte
comite
63342ff906
1 a modificat fișierele cu 8 adăugiri și 6 ștergeri
  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;
 #ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
-    program_invocation_name = *argv;
-    program_invocation_short_name = strrchr(*argv, '/');
-    if (program_invocation_short_name != NULL)
-	++program_invocation_short_name;
-    else
-	program_invocation_short_name = program_invocation_name;
+    if (*argv != NULL) {
+	program_invocation_name = *argv;
+	program_invocation_short_name = strrchr(*argv, '/');
+	if (program_invocation_short_name != NULL)
+	    ++program_invocation_short_name;
+	else
+	    program_invocation_short_name = program_invocation_name;
+    }
 #endif
 
 #ifdef __UCLIBC_CTOR_DTOR__