summaryrefslogtreecommitdiffstats
path: root/kdm/kfrontend
diff options
context:
space:
mode:
Diffstat (limited to 'kdm/kfrontend')
-rw-r--r--kdm/kfrontend/kgapp.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/kdm/kfrontend/kgapp.cpp b/kdm/kfrontend/kgapp.cpp
index b57b4371d..677b5ec2a 100644
--- a/kdm/kfrontend/kgapp.cpp
+++ b/kdm/kfrontend/kgapp.cpp
@@ -366,13 +366,15 @@ kg_main( const char *argv0 )
// Change process UID
// Get user UID
passwd* userinfo = getpwnam(login_user.ascii());
- TQString newuid = TQString("%1").arg(userinfo->pw_uid);
- // kompmgr allows us to change its uid in this manner:
- // 1.) Send SIGUSER1
- // 2.) Send the new UID to it on the command line
- comp->kill(SIGUSR1);
- comp->writeStdin(newuid.ascii(), newuid.length());
- usleep(50000); // Give the above function some time to execute. Note that on REALLY slow systems this could fail, leaving kompmgr running as root. TODO: Look into ways to make this more robust.
+ if (userinfo) {
+ TQString newuid = TQString("%1").arg(userinfo->pw_uid);
+ // kompmgr allows us to change its uid in this manner:
+ // 1.) Send SIGUSER1
+ // 2.) Send the new UID to it on the command line
+ comp->kill(SIGUSR1);
+ comp->writeStdin(newuid.ascii(), newuid.length());
+ usleep(50000); // Give the above function some time to execute. Note that on REALLY slow systems this could fail, leaving kompmgr running as root. TODO: Look into ways to make this more robust.
+ }
}
comp->closeStdin();
comp->detach();