summaryrefslogtreecommitdiff
path: root/usr/src/lib/libc
diff options
context:
space:
mode:
authorRoger A. Faulkner <Roger.Faulkner@Oracle.COM>2010-08-16 18:05:48 -0700
committerRoger A. Faulkner <Roger.Faulkner@Oracle.COM>2010-08-16 18:05:48 -0700
commit315e695527b211489a44386ec695c6ccd3af4e6e (patch)
tree0c7d0a2d7edacc31bcf0d270ae68fecbe39c086b /usr/src/lib/libc
parent5e01956f3000408c2a2c5a08c8d0acf2c2a9d8ee (diff)
downloadillumos-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.c7
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);
}