]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Use VIR_ALLOC_VAR instead of VIR_ALLOC_N for creating virObject
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 3 Apr 2013 13:14:23 +0000 (14:14 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 8 Apr 2013 09:03:21 +0000 (10:03 +0100)
The current way virObject instances are allocated using
VIR_ALLOC_N causes alignment warnings

util/virobject.c: In function 'virObjectNew':
util/virobject.c:195:11: error: cast increases required alignment of target type [-Werror=cast-align]

Changing to use VIR_ALLOC_VAR will avoid the need todo
the casts entirely.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/util/virobject.c

index 808edc4837da9d3b1dc8ebbac4a6e29c37813cd9..93e37e4a5d968c85f2bfa153a77b4d74d3c2f2f9 100644 (file)
@@ -186,13 +186,13 @@ bool virClassIsDerivedFrom(virClassPtr klass,
 void *virObjectNew(virClassPtr klass)
 {
     virObjectPtr obj = NULL;
-    char *somebytes;
 
-    if (VIR_ALLOC_N(somebytes, klass->objectSize) < 0) {
+    if (VIR_ALLOC_VAR(obj,
+                      char,
+                      klass->objectSize - sizeof(virObject)) < 0) {
         virReportOOMError();
         return NULL;
     }
-    obj = (virObjectPtr)somebytes;
 
     obj->magic = klass->magic;
     obj->klass = klass;