author | Alexander Monakov <amonakov@ispras.ru> | 2017年07月28日 17:46:49 +0300 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2017年08月29日 19:50:48 -0400 |
commit | c7f56b4d2f58714b7286ef12fa5410213847f2fe (patch) | |
tree | aa6eda020bb2f17fc700ff30071d00efb3d88621 /src | |
parent | cc086693808c007679f02d5e0ee592446bf1b386 (diff) | |
download | musl-c7f56b4d2f58714b7286ef12fa5410213847f2fe.tar.gz |
-rw-r--r-- | src/env/__libc_start_main.c | 8 |
diff --git a/src/env/__libc_start_main.c b/src/env/__libc_start_main.c index 5c79be28..18afdc1d 100644 --- a/src/env/__libc_start_main.c +++ b/src/env/__libc_start_main.c @@ -30,10 +30,10 @@ void __init_libc(char **envp, char *pn) __sysinfo = aux[AT_SYSINFO]; libc.page_size = aux[AT_PAGESZ]; - if (pn) { - __progname = __progname_full = pn; - for (i=0; pn[i]; i++) if (pn[i]=='/') __progname = pn+i+1; - } + if (!pn) pn = (void*)aux[AT_EXECFN]; + if (!pn) pn = ""; + __progname = __progname_full = pn; + for (i=0; pn[i]; i++) if (pn[i]=='/') __progname = pn+i+1; __init_tls(aux); __init_ssp((void *)aux[AT_RANDOM]); |