On 22.10.2012 22:49, Eric Blake wrote:
Fixes a build failure on cygwin:
cc1: warnings being treated as errors
security/security_dac.c: In function 'virSecurityDACSetProcessLabel':
security/security_dac.c:862:5: error: format '%u' expects type 'unsigned
int', but argument 7 has type 'uid_t' [-Wformat]
security/security_dac.c:862:5: error: format '%u' expects type 'unsigned
int', but argument 8 has type 'gid_t' [-Wformat]
* src/security/security_dac.c (virSecurityDACSetProcessLabel)
(virSecurityDACGenLabel): Use proper casts.
---
Pushing under the build-breaker rule. See src/util/util.c for other
cases where we do the same.
src/security/security_dac.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index a67f5d6..a1aa0ef 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -859,7 +859,8 @@ virSecurityDACSetProcessLabel(virSecurityManagerPtr mgr,
if (virSecurityDACGetIds(def, priv, &user, &group))
return -1;
- VIR_DEBUG("Dropping privileges of DEF to %u:%u", user, group);
+ VIR_DEBUG("Dropping privileges of DEF to %u:%u",
+ (unsigned int) user, (unsigned int) group);
if (virSetUIDGID(user, group) < 0)
return -1;
@@ -920,7 +921,9 @@ virSecurityDACGenLabel(virSecurityManagerPtr mgr,
}
break;
case VIR_DOMAIN_SECLABEL_DYNAMIC:
- if (virAsprintf(&seclabel->label, "%d:%d", priv->user,
priv->group) < 0) {
+ if (virAsprintf(&seclabel->label, "%d:%d",
+ (unsigned int) priv->user,
+ (unsigned int) priv->group) < 0) {
In fact, "%d" expects signed int.
virReportOOMError();
return rc;
}