Blame SOURCES/0233-abrt-hook-ccpp-save-get_fsuid-return-values-in-int-v.patch

06486d
From 3853f65022ef450469a6f612fe1ae11ab3f87a8a Mon Sep 17 00:00:00 2001
06486d
From: Matej Habrnal <mhabrnal@redhat.com>
06486d
Date: Thu, 26 May 2016 10:15:07 +0200
06486d
Subject: [PATCH] abrt-hook-ccpp: save get_fsuid() return values in int
06486d
 variables
06486d
06486d
int because get_fsuid() returns negative values in case of error
06486d
Revealed by coverity.
06486d
06486d
Related to: #1337186
06486d
06486d
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
06486d
---
06486d
 src/hooks/abrt-hook-ccpp.c | 7 ++++---
06486d
 1 file changed, 4 insertions(+), 3 deletions(-)
06486d
06486d
diff --git a/src/hooks/abrt-hook-ccpp.c b/src/hooks/abrt-hook-ccpp.c
06486d
index dc4dec6..581a540 100644
06486d
--- a/src/hooks/abrt-hook-ccpp.c
06486d
+++ b/src/hooks/abrt-hook-ccpp.c
06486d
@@ -863,7 +863,8 @@ int main(int argc, char** argv)
06486d
     char *proc_pid_status = xmalloc_xopen_read_close(path, /*maxsz:*/ NULL);
06486d
 
06486d
     uid_t fsuid = uid;
06486d
-    uid_t tmp_fsuid = get_fsuid(proc_pid_status);
06486d
+    /* int because get_fsuid() returns negative values in case of error */
06486d
+    int tmp_fsuid = get_fsuid(proc_pid_status);
06486d
     if (tmp_fsuid < 0)
06486d
     {
06486d
         error_msg_ignore_crash(pid_str, NULL, (long unsigned)uid, signal_no,
06486d
@@ -879,12 +880,12 @@ int main(int argc, char** argv)
06486d
     }
06486d
 
06486d
     int suid_policy = dump_suid_policy();
06486d
-    if (tmp_fsuid != uid)
06486d
+    if ((uid_t)tmp_fsuid != uid)
06486d
     {
06486d
         /* use root for suided apps unless it's explicitly set to UNSAFE */
06486d
         fsuid = 0;
06486d
         if (suid_policy == DUMP_SUID_UNSAFE)
06486d
-            fsuid = tmp_fsuid;
06486d
+            fsuid = (uid_t)tmp_fsuid;
06486d
         else
06486d
         {
06486d
             g_user_core_flags = O_EXCL;
06486d
-- 
06486d
1.8.3.1
06486d