On 10.05.2013 09:57, Ján Tomko wrote:
On 05/03/2013 04:53 PM, Michal Privoznik wrote:
> ---
> src/datatypes.c | 76 +++++++++++++++++++++++++++------------------------------
> src/libvirt.c | 14 +++--------
> src/nodeinfo.c | 5 +---
> 3 files changed, 41 insertions(+), 54 deletions(-)
>
> @@ -530,12 +528,10 @@ virGetStorageVol(virConnectPtr conn, const
char *pool, const char *name,
> if (!(ret = virObjectNew(virStorageVolClass)))
> return NULL;
>
> - if (!(ret->pool = strdup(pool)))
> - goto no_memory;
> - if (!(ret->name = strdup(name)))
> - goto no_memory;
> - if (!(ret->key = strdup(key)))
> - goto no_memory;
> + if (VIR_STRDUP(ret->pool, pool) < 0 ||
> + VIR_STRDUP(ret->name, name) < 0 ||
> + VIR_STRDUP(ret->key, key) < 0)
> + goto error;
>
> ret->conn = virObjectRef(conn);
>
VIR_STRDUP accepts NULL now, you should check if pool is non-null as well.
Yeah, we should add:
--- a/src/datatypes.c
+++ b/src/datatypes.c
@@ -520,6 +520,7 @@ virGetStorageVol(virConnectPtr conn, const char
*pool, const char *name,
virLibConnError(VIR_ERR_INVALID_CONN, "%s", _("no
connection"));
return NULL;
}
+ virCheckNonNullArgReturn(pool, NULL);
virCheckNonNullArgReturn(name, NULL);
virCheckNonNullArgReturn(key, NULL);
But I think that deserves a separate patch.
ACK
Jan