Resolve the svace issue 91/196191/1 accepted/tizen/unified/20181227.062019 submit/tizen/20181226.014257
authorYoungHun Kim <yh8004.kim@samsung.com>
Wed, 26 Dec 2018 00:52:41 +0000 (09:52 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Wed, 26 Dec 2018 01:01:52 +0000 (10:01 +0900)
 - It is usually checked for these functions (getpwuid, getgrgid)
 - getgrgid makes no guaranteee of thread safety. Use getgrgid_r function instead

Change-Id: If2817073e9b81347c683583977df2f27373952c2

packaging/mused.spec
server/src/muse_server_private.c

index f12c886..f475798 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mused
 Summary:    A multimedia daemon
-Version:    0.3.58
+Version:    0.3.59
 Release:    0
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause
index fbe1e76..5bca048 100644 (file)
@@ -864,18 +864,24 @@ void ms_log_process_info(int pid)
 
 void ms_log_user_group_info(void)
 {
-       struct passwd *p;
-       struct group *g;
        uid_t uid;
        gid_t gid;
+       char buffer[MUSE_MSG_MAX_LENGTH];
+       struct passwd pwbuf;
+       struct passwd *pwbufp;
+       struct group gbuf;
+       struct group *gbufp;
 
        uid = getuid();
        gid = getgid();
 
-       p = getpwuid(uid);
-       g = getgrgid(gid);
+       getpwuid_r(uid, &pwbuf, buffer, sizeof(buffer), &pwbufp);
+       muse_return_if_fail(pwbufp);
 
-       LOGE("user [%s : %lu] group [%s : %lu]", p->pw_name, (unsigned long)uid, g->gr_name, (unsigned long)gid);
+       getgrgid_r(gid, &gbuf, buffer, sizeof(buffer), &gbufp);
+       muse_return_if_fail(gbufp);
+
+       LOGE("user [%s : %lu] group [%s : %lu]", pwbufp->pw_name, (unsigned long)uid, gbufp->gr_name, (unsigned long)gid);
 }
 
 gboolean ms_is_log_enabled(void)