System with no environment variable USER, one of the easter egg caused a
segfault on certain embedded linux platforms.
Other getenv() of the project were audited to ensure that the return
value is checked.
Reported-by: Ryan Kyser <Ryan.Kyser@jci.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
int main(int argc, char *argv[])
{
int ret;
int main(int argc, char *argv[])
{
int ret;
progname = argv[0] ? argv[0] : "lttng";
/* For Mathieu Desnoyers a.k.a. Dr. Tracing */
progname = argv[0] ? argv[0] : "lttng";
/* For Mathieu Desnoyers a.k.a. Dr. Tracing */
- if (strncmp(progname, "drtrace", 7) == 0 ||
- strncmp("compudj", getenv("USER"), 7) == 0) {
+ user = getenv("USER");
+ if (user != NULL && ((strncmp(progname, "drtrace", 7) == 0 ||
+ strncmp("compudj", user, 7) == 0))) {
MSG("%c[%d;%dmWelcome back Dr Tracing!%c[%dm\n", 27,1,33,27,0);
}
MSG("%c[%d;%dmWelcome back Dr Tracing!%c[%dm\n", 27,1,33,27,0);
}
ret = set_signal_handler();
if (ret < 0) {
ret = set_signal_handler();
if (ret < 0) {