<html><body>
<p>+1<br>
<br>
Sharad Mishra<br>
System x Enablement<br>
Linux Technology Center<br>
IBM<br>
<br>
<img width="16" height="16" src="cid:1__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Kaitlin Rupert ---11/11/2009 08:00:41 PM---# HG changeset patch"><font color="#424282">Kaitlin Rupert ---11/11/2009 08:00:41 PM---# HG changeset patch</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:2__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com); background-repeat: no-repeat; " width="40%">
<ul>
<ul>
<ul>
<ul><b><font size="2">Kaitlin Rupert <kaitlin@linux.vnet.ibm.com></font></b><font size="2"> </font><br>
<font size="2">Sent by: libvirt-cim-bounces@redhat.com</font>
<p><font size="2">11/11/2009 08:06 PM</font>
<table border="1">
<tr valign="top"><td width="168" bgcolor="#FFFFFF"><div align="center"><font size="2">Please respond to<br>
List for discussion and development of libvirt CIM      <libvirt-cim@redhat.com></font></div></td></tr>
</table>
</ul>
</ul>
</ul>
</ul>
</td><td width="60%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">To</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">libvirt-cim@redhat.com</font></td></tr>

<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">cc</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
</td></tr>

<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">Subject</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">[Libvirt-cim] [PATCH] Use strdup() to copy memory so list of     strings can be free in Virt_DevicePool</font></td></tr>
</table>

<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img width="1" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""></td><td width="336"><img width="1" height="1" src="cid:3__=07BBFCE2DFF952148f9e8a93df938@us.ibm.com" border="0" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<tt># HG changeset patch<br>
# User Kaitlin Rupert <karupert@us.ibm.com><br>
# Date 1257998067 28800<br>
# Node ID 33a6a50f64e08df1585a249d96d89e4e03d663e4<br>
# Parent  a804ea345a48f2dd57a7e78b8fbd595f9397906b<br>
Use strdup() to copy memory so list of strings can be free in Virt_DevicePool<br>
<br>
This were missed in revision 1008.<br>
<br>
In Virt_RASD, declare base a const char, as we aren't allocating memory here.<br>
Revert changes from revision 1008 - this is a regression.<br>
<br>
Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com><br>
<br>
diff -r a804ea345a48 -r 33a6a50f64e0 src/Virt_DevicePool.c<br>
--- a/src/Virt_DevicePool.c              Fri Nov 06 14:03:41 2009 -0800<br>
+++ b/src/Virt_DevicePool.c              Wed Nov 11 19:54:27 2009 -0800<br>
@@ -130,11 +130,13 @@<br>
         names = calloc(count, sizeof(char *));<br>
         if (names == NULL) {<br>
                 CU_DEBUG("Failed to alloc space for %i pool names", count);<br>
+                count = 0;<br>
                 goto out;<br>
         }<br>
 <br>
         if (virConnectListStoragePools(conn, names, count) == -1) {<br>
                 CU_DEBUG("Failed to get storage pools");<br>
+                count = 0;<br>
                 goto out;<br>
         }<br>
 <br>
@@ -145,7 +147,7 @@<br>
         }<br>
 <br>
         for (i = 0; i < count; i++) {<br>
-                pools[i].tag = names[i];<br>
+                pools[i].tag = strdup(names[i]);<br>
                 pools[i].primordial = false;<br>
         }<br>
 <br>
@@ -936,7 +938,7 @@<br>
                 goto out;<br>
         }<br>
 <br>
-        netnames[nets - 1] = "0";<br>
+        netnames[nets - 1] = strdup("0");<br>
 <br>
         for (i = 0; i < nets; i++) {<br>
                 _netpool_for_network(list,<br>
diff -r a804ea345a48 -r 33a6a50f64e0 src/Virt_RASD.c<br>
--- a/src/Virt_RASD.c            Fri Nov 06 14:03:41 2009 -0800<br>
+++ b/src/Virt_RASD.c            Wed Nov 11 19:54:27 2009 -0800<br>
@@ -377,7 +377,7 @@<br>
         CMPIStatus s;<br>
         CMPIInstance *inst;<br>
         uint16_t type;<br>
-        char *base;<br>
+        const char *base;<br>
         char *id;<br>
         const char *keys[] = {"InstanceID", NULL};<br>
 <br>
@@ -407,8 +407,6 @@<br>
                                   CLASSNAME(ref),<br>
                                   base,<br>
                                   NAMESPACE(ref));<br>
-        free(base);<br>
-<br>
         if (inst == NULL)<br>
                 return inst;<br>
 <br>
<br>
_______________________________________________<br>
Libvirt-cim mailing list<br>
Libvirt-cim@redhat.com<br>
</tt><tt><a href="https://www.redhat.com/mailman/listinfo/libvirt-cim">https://www.redhat.com/mailman/listinfo/libvirt-cim</a></tt><tt><br>
</tt><br>
</body></html>