From d5bcf897c1b1719512ded7ba7bdcc81c97a885c0 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Mon, 25 Mar 2002 08:00:41 +0000
Subject: [PATCH] do_seteuid() callback does nothing if username not set.

---
 src/sbbs3/sbbscon.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index 53200f55d9..f1db385c6b 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -86,6 +86,8 @@ ulong				served=0;
 int					prompt_len=0;
 
 #ifdef __unix__
+char*				new_uid_name=NULL;
+char*				new_gid_name=NULL;
 uid_t				new_uid;
 uid_t				old_uid;
 gid_t				new_gid;
@@ -203,6 +205,9 @@ static BOOL do_seteuid(BOOL to_new)
 	static pthread_mutex_t mutex;
 	static BOOL mutex_initialized;
 
+	if(new_uid_name==NULL)	/* not set? */
+		return(TRUE);		/* do nothing */
+
 	if(!mutex_initialized) {
 		pthread_mutex_init(&mutex,NULL);
 		mutex_initialized=TRUE;
@@ -606,8 +611,6 @@ int main(int argc, char** argv)
 	char*	ctrl_dir;
 	BOOL	quit=FALSE;
 #ifdef __unix__
-	char*	new_uid_name=NULL;
-	char*	new_gid_name=NULL;
 	FILE *pidfile;
 	struct passwd* pw_entry;
 	struct group*  gr_entry;
@@ -1014,7 +1017,7 @@ int main(int argc, char** argv)
 	if(getuid())  /*  are we running as a normal user?  */
 		bbs_lputs("!Started as non-root user.  Cannot bind() to ports below 1024.");
 	
-	else if(!new_uid_name)   /*  check the user arg, if we have uid 0 */
+	else if(new_uid_name==NULL)   /*  check the user arg, if we have uid 0 */
 		bbs_lputs("Warning: No user account specified, running as root.");
 	
 	else 
-- 
GitLab