Fix: do not call get(pw/gr)uid on uninitialized memory 29/67629/2
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 27 Apr 2016 13:18:47 +0000 (15:18 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 27 Apr 2016 13:32:28 +0000 (06:32 -0700)
This commit fixes bug introduced in commit 869f3003 ("Fix: close file
descriptior leak in dbuspolicy_init error path").

Change-Id: Ieec0fdb4b23a014f25c20aecb731ff2e14a8864a

src/libdbuspolicy1.c

index 119e460..b97c68d 100644 (file)
@@ -240,6 +240,9 @@ static int dbuspolicy_init_udesc(struct kconn* kc, unsigned int bus_type, struct
      if (r < 0) /* read */
          return -1;
 
+     p_udesc->uid = getuid();
+     p_udesc->gid = getgid();
+
      if (getpwuid_r(p_udesc->uid, &pwent, buf, sizeof(buf), &pwd))
          return -1;
 
@@ -258,8 +261,6 @@ static int dbuspolicy_init_udesc(struct kconn* kc, unsigned int bus_type, struct
      p_udesc->group[len] = 0;
 
      p_udesc->bus_type = bus_type;
-     p_udesc->uid = getuid();
-     p_udesc->gid = getgid();
      p_udesc->conn = kc;
 
      return 0;