+1
Sharad Mishra
Open Virtualization
Linux Technology Center
IBM
libvirt-cim-bounces(a)redhat.com wrote on 11/03/2011 10:48:30 AM:
"Eduardo Lima (Etrunko)" <eblima(a)linux.vnet.ibm.com>
Sent by: libvirt-cim-bounces(a)redhat.com
11/03/2011 10:48 AM
Please respond to
List for discussion and development of libvirt CIM
<libvirt-cim(a)redhat.com>
To
libvirt-cim(a)redhat.com
cc
"Eduardo Lima \(Etrunko\)" <eblima(a)br.ibm.com>
Subject
[Libvirt-cim] [PATCH 2/8] pool_parsing: Avoid NULL dereferences
From: Eduardo Lima (Etrunko) <eblima(a)br.ibm.com>
As revealed by Coverity scan report:
https://bugzilla.redhat.com/show_bug.cgi?id=728245#c8
https://bugzilla.redhat.com/attachment.cgi?id=530435
Error: REVERSE_INULL:
pool_parsing.c:74: deref_ptr: Directly dereferencing pointer "pool".
pool_parsing.c:76: check_after_deref: Dereferencing "pool" before a
null check.
Error: REVERSE_INULL:
pool_parsing.c:99: deref_ptr: Directly dereferencing pointer "res".
pool_parsing.c:101: check_after_deref: Dereferencing "res" before a
null check.
Signed-off-by: Eduardo Lima (Etrunko) <eblima(a)br.ibm.com>
---
libxkutil/pool_parsing.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libxkutil/pool_parsing.c b/libxkutil/pool_parsing.c
index f7a5a2c..f73b0fd 100644
--- a/libxkutil/pool_parsing.c
+++ b/libxkutil/pool_parsing.c
@@ -71,11 +71,12 @@ static void cleanup_disk_pool(struct disk_pool pool)
{
void cleanup_virt_pool(struct virt_pool **pool)
{
- struct virt_pool *_pool = *pool;
+ struct virt_pool *_pool;
if ((pool == NULL) || (*pool == NULL))
return;
-
+
+ _pool = *pool;
if (_pool->type == CIM_RES_TYPE_NET)
cleanup_net_pool(_pool->pool_info.net);
else if (_pool->type == CIM_RES_TYPE_DISK)
@@ -96,11 +97,13 @@ static void cleanup_image_res(struct storage_vol vol)
void cleanup_virt_pool_res(struct virt_pool_res **res)
{
- struct virt_pool_res *_res = *res;
+ struct virt_pool_res *_res;
if ((res == NULL) || (*res == NULL))
return;
+ _res = *res;
+
if (_res->type == CIM_RES_TYPE_IMAGE)
cleanup_image_res(_res->res.storage_vol);
--
1.7.4.4
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim