diff options
| author | Roger A. Faulkner <Roger.Faulkner@Oracle.COM> | 2010-08-16 18:05:48 -0700 |
|---|---|---|
| committer | Roger A. Faulkner <Roger.Faulkner@Oracle.COM> | 2010-08-16 18:05:48 -0700 |
| commit | 315e695527b211489a44386ec695c6ccd3af4e6e (patch) | |
| tree | 0c7d0a2d7edacc31bcf0d270ae68fecbe39c086b /usr/src/lib/libc | |
| parent | 5e01956f3000408c2a2c5a08c8d0acf2c2a9d8ee (diff) | |
| download | illumos-joyent-315e695527b211489a44386ec695c6ccd3af4e6e.tar.gz | |
6977206 fix for 6735446 dumps core if argv[0] == NULL
Diffstat (limited to 'usr/src/lib/libc')
| -rw-r--r-- | usr/src/lib/libc/port/gen/err.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/usr/src/lib/libc/port/gen/err.c b/usr/src/lib/libc/port/gen/err.c index 7c3695e785..31c5a7e559 100644 --- a/usr/src/lib/libc/port/gen/err.c +++ b/usr/src/lib/libc/port/gen/err.c @@ -73,10 +73,11 @@ init_progname(void) Dl_argsinfo_t args; const char *argv0; - if (dlinfo(RTLD_SELF, RTLD_DI_ARGSINFO, &args) < 0) + if (dlinfo(RTLD_SELF, RTLD_DI_ARGSINFO, &args) < 0 || + args.dla_argc <= 0 || + (argv0 = args.dla_argv[0]) == NULL) argv0 = "UNKNOWN"; - else - argv0 = args.dla_argv[0]; + setprogname(argv0); } |
