[PATCH] Fix parsing of uid/gid on Mingw32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Daniel P. Berrange" <berrange@xxxxxxxxxx>

The DAC security driver uses the virStrToLong_ui function to
parse the uid/gid out of the seclabel string. This works on
Linux where 'uid_t' is an unsigned int, but on Mingw32 it is
just an 'int'. This causes compiler warnings about signed/
unsigned int pointer mis-match.

To avoid this, use explicit 'unsigned int ouruid' local
vars to pass into virStrToLong_ui, and then simply assign
to the 'uid_t' type after parsing

Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
---
 src/security/security_dac.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index e37b09e..925498f 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -68,25 +68,25 @@ void virSecurityDACSetDynamicOwnership(virSecurityManagerPtr mgr,
 static
 int parseIds(const char *label, uid_t *uidPtr, gid_t *gidPtr)
 {
-    uid_t uid;
-    gid_t gid;
+    unsigned int theuid;
+    unsigned int thegid;
     char *endptr = NULL;
 
     if (label == NULL)
         return -1;
 
-    if (virStrToLong_ui(label, &endptr, 10, &uid) ||
+    if (virStrToLong_ui(label, &endptr, 10, &theuid) ||
         endptr == NULL || *endptr != ':') {
         return -1;
     }
 
-    if (virStrToLong_ui(endptr + 1, NULL, 10, &gid))
+    if (virStrToLong_ui(endptr + 1, NULL, 10, &thegid))
         return -1;
 
     if (uidPtr)
-        *uidPtr = uid;
+        *uidPtr = theuid;
     if (gidPtr)
-        *gidPtr = gid;
+        *gidPtr = thegid;
     return 0;
 }
 
-- 
1.7.11.2

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]