Module: sems Branch: master Commit: 726ad0b393db3518b95d6f6b7cc1dad51221cbb9 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=726ad0b393db3518b95d6f6b7cc1dad51221cbb9
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Sat Jun 19 17:14:23 2010 +0200 fix UID and GID parameters processing fixes a segfault when process UID or GID was configured --- core/sems.cpp | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/core/sems.cpp b/core/sems.cpp index e07b1b8..8c1fe8f 100644 --- a/core/sems.cpp +++ b/core/sems.cpp @@ -389,7 +389,6 @@ int main(int argc, char* argv[]) { int success = false; std::map<char,string> args; - std::map<char,string>::iterator cfg_arg; progname = strrchr(argv[0], '/'); progname = (progname == NULL ? argv[0] : progname + 1); @@ -480,14 +479,14 @@ int main(int argc, char* argv[]) if(AmConfig::DaemonMode){ if(!AmConfig::DaemonGid.empty()){ unsigned int gid; - if(str2i(cfg_arg->second, gid)){ - struct group* grnam = getgrnam(cfg_arg->second.c_str()); + if(str2i(AmConfig::DaemonGid, gid)){ + struct group* grnam = getgrnam(AmConfig::DaemonGid.c_str()); if(grnam != NULL){ gid = grnam->gr_gid; } else{ ERROR("Cannot not find group '%s' in the group database.\n", - cfg_arg->second.c_str()); + AmConfig::DaemonGid.c_str()); goto error; } } @@ -501,14 +500,14 @@ int main(int argc, char* argv[]) if(!AmConfig::DaemonUid.empty()){ unsigned int uid; - if(str2i(cfg_arg->second, uid)){ - struct passwd* pwnam = getpwnam(cfg_arg->second.c_str()); + if(str2i(AmConfig::DaemonUid, uid)){ + struct passwd* pwnam = getpwnam(AmConfig::DaemonUid.c_str()); if(pwnam != NULL){ uid = pwnam->pw_uid; } else{ ERROR("Cannot not find user '%s' in the user database.\n", - cfg_arg->second.c_str()); + AmConfig::DaemonUid.c_str()); goto error; } } _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
