Fix: memory leaks detected by valingrid

Fix: dont't change user/group if startup user is not root
This commit is contained in:
jcorporation 2019-01-30 23:10:16 +01:00
parent c5cac48ac7
commit c7a093ae1d
1 changed files with 19 additions and 15 deletions

View File

@ -194,6 +194,7 @@ static void mympd_parse_env(struct t_config *config, const char *envvar) {
mympd_inihandler(config, section, name, value);
}
value = NULL;
free(var);
}
}
@ -319,7 +320,8 @@ int main(int argc, char **argv) {
}
//drop privileges
if (config->user != NULL) {
if (getuid() == 0) {
if (config->user != NULL || strlen(config->user) != 0) {
printf("Droping privileges to %s\n", config->user);
struct passwd *pw;
if ((pw = getpwnam(config->user)) == NULL) {
@ -336,6 +338,7 @@ int main(int argc, char **argv) {
goto cleanup;
}
}
}
if (getuid() == 0) {
printf("myMPD should not be run with root privileges\n");
@ -423,5 +426,6 @@ int main(int argc, char **argv) {
tiny_queue_free(mpd_client_queue);
tiny_queue_free(mympd_api_queue);
mympd_free_config(config);
free(configfile);
return rc;
}