Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
goto out2;
} else {
*buflen = SSID_BUFFER_SIZE;
+ free(buf);
+ buf = NULL;
goto out2;
}
out2:
xc_handle = xc_interface_open();
if (xc_handle < 0) {
errno = xc_handle;
+ free(buf);
return PyErr_SetFromErrno(xc_error_obj);
}
if ( rc < 0 )
{
- free(sdev_array);
- return pyxc_error_to_exception();
+ free(sdev_array);
+ return pyxc_error_to_exception();
}
if ( !num_sdevs )
{
- free(sdev_array);
- return Py_BuildValue("s", "");
+ free(sdev_array);
+ return Py_BuildValue("s", "");
}
group_str = calloc(num_sdevs, sizeof(dev_str));
if (group_str == NULL)
+ {
+ free(sdev_array);
return PyErr_NoMemory();
+ }
for ( i = 0; i < num_sdevs; i++ )
{