From f1ee94f9276d01de13aabc2d248d1b1923a00157 Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Thu, 9 Jul 2009 22:59:13 +0000 Subject: [PATCH] * Prevent a segmentation fault if $LOGNAME is not set during startup. --- minidlna.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/minidlna.c b/minidlna.c index 2af6ff1..42d2daf 100644 --- a/minidlna.c +++ b/minidlna.c @@ -25,6 +25,7 @@ #include #include #include +#include /* unix sockets */ #include "config.h" @@ -183,7 +184,16 @@ getfriendlyname(char * buf, int len) #ifdef READYNAS strncat(buf, "ReadyNAS", len-strlen(buf)-1); #else - strncat(buf, getenv("LOGNAME"), len-strlen(buf)-1); + char * logname; + logname = getenv("LOGNAME"); + if( !logname ) + { + struct passwd * pwent; + pwent = getpwuid(getuid()); + if( pwent ) + logname = pwent->pw_name; + } + strncat(buf, logname?logname:"Unknown", len-strlen(buf)-1); #endif }