]> xenbits.xensource.com Git - libvirt.git/commitdiff
* src/xend_internal.c: fix an allocation problem in xenDaemonDomainLookupByName_ids
authorDaniel Veillard <veillard@redhat.com>
Tue, 10 Mar 2009 11:13:32 +0000 (11:13 +0000)
committerDaniel Veillard <veillard@redhat.com>
Tue, 10 Mar 2009 11:13:32 +0000 (11:13 +0000)
Daniel

ChangeLog
src/xend_internal.c

index e6047663d2e9e6ac6a54b6e63d073c873deab246..b7126f9daca62304897d48f8f3b1becbaf954313 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 10 12:03:37 CET 2009 Daniel Veillard <veilard@redhat.com>
+
+       * src/xend_internal.c: fix an allocation problem in 
+         xenDaemonDomainLookupByName_ids
+
 Tue Mar 10 10:29:46 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
 
        * src/xend_internal.c: Fix tap vs vbd type for block detach
index 772f3f45fcbfd9fcfeb8a8db44dc74bcdb7fa81e..c6d6fa49f1a66ec943cc10fe0cd39ced0aadecd2 100644 (file)
@@ -904,7 +904,15 @@ xenDaemonListDomainsOld(virConnectPtr xend)
         count++;
     }
 
-    if (VIR_ALLOC_N(ptr, count + 1 + extra) < 0)
+    /*
+     * We can'tuse the normal allocation routines as we are mixing
+     * an array of char * at the beginning followed by an array of char
+     * ret points to the NULL terminated array of char *
+     * ptr points to the current string after that array but in the same
+     * allocated block
+     */
+    if (virAlloc((void *)&ptr,
+                 (count + 1) * sizeof(char *) + extra * sizeof(char)) < 0)
         goto error;
 
     ret = (char **) ptr;