xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Daley <mattjd@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Matthew Daley <mattjd@gmail.com>,
	xen-devel@lists.xen.org, Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [PATCH v2] remove unnecessary null pointer checks before frees
Date: Sun, 29 Sep 2013 16:26:58 +1300	[thread overview]
Message-ID: <1380425218-15403-1-git-send-email-mattjd@gmail.com> (raw)
In-Reply-To: <1380423939-15012-1-git-send-email-mattjd@gmail.com>

Oops, spatch removed an #if 0'd hunk from gtraceview.c. Here's a fixed version:

-- 8< --

Patch generated by the following semantic patch
(http://coccinelle.lip6.fr/):

@@
expression *P;
@@

- if(P) free(P);
+ free(P);

...and then by filtering through the following command:

filterdiff -p1 -x 'stubdom/*' -x 'tools/firmware/*' -x 'tools/qemu-*'

Signed-off-by: Matthew Daley <mattjd@gmail.com>
---
 extras/mini-os/blkfront.c            |   14 ++++++-------
 extras/mini-os/console/xenbus.c      |    8 +++----
 extras/mini-os/fbfront.c             |   38 +++++++++++++++++-----------------
 extras/mini-os/kernel.c              |    4 ++--
 extras/mini-os/lib/sys.c             |    3 +--
 extras/mini-os/netfront.c            |   18 ++++++++--------
 extras/mini-os/pcifront.c            |   14 ++++++-------
 tools/blktap/drivers/blktapctrl.c    |    6 ++----
 tools/blktap/drivers/tapaio.c        |   18 ++++++----------
 tools/blktap/drivers/tapdisk.c       |    9 +++-----
 tools/blktap/lib/xenbus.c            |   21 +++++++------------
 tools/blktap/lib/xs_api.c            |    3 +--
 tools/blktap2/control/tap-ctl-list.c |    6 ++----
 tools/blktap2/drivers/block-log.c    |    3 +--
 tools/flask/utils/loadpolicy.c       |    3 +--
 tools/libxc/xc_compression.c         |   15 +++++---------
 tools/libxc/xc_core_x86.c            |    6 ++----
 tools/libxc/xc_domain_save.c         |    6 ++----
 tools/libxc/xc_gnttab.c              |    3 +--
 tools/libxc/xc_offline_page.c        |    9 +++-----
 tools/libxl/libxl_event.c            |    3 +--
 tools/libxl/libxl_qmp.c              |    6 ++----
 tools/libxl/libxl_utils.c            |    2 +-
 tools/memshr/bidir-hash.c            |    4 ++--
 tools/misc/gtraceview.c              |    3 +--
 tools/tests/xen-access/xen-access.c  |    6 ++----
 tools/xenbackendd/xenbackendd.c      |    6 ++----
 27 files changed, 96 insertions(+), 141 deletions(-)

diff --git a/extras/mini-os/blkfront.c b/extras/mini-os/blkfront.c
index aead6bd..62a32c5 100644
--- a/extras/mini-os/blkfront.c
+++ b/extras/mini-os/blkfront.c
@@ -160,7 +160,7 @@ again:
 
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
@@ -271,7 +271,7 @@ void shutdown_blkfront(struct blkfront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("shutdown_blkfront: error changing state to %d: %s\n",
@@ -281,7 +281,7 @@ void shutdown_blkfront(struct blkfront_dev *dev)
     state = xenbus_read_integer(path);
     while (state < XenbusStateClosed) {
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-        if (err) free(err);
+        free(err);
     }
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) {
@@ -294,16 +294,16 @@ void shutdown_blkfront(struct blkfront_dev *dev)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
 
 close:
-    if (err) free(err);
+    free(err);
     err2 = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err2) free(err2);
+    free(err2);
 
     snprintf(nodename, sizeof(nodename), "%s/ring-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
 
     if (!err)
         free_blkfront(dev);
diff --git a/extras/mini-os/console/xenbus.c b/extras/mini-os/console/xenbus.c
index b317114..1c9a590 100644
--- a/extras/mini-os/console/xenbus.c
+++ b/extras/mini-os/console/xenbus.c
@@ -32,7 +32,7 @@ void free_consfront(struct consfront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("free_consfront: error changing state to %d: %s\n",
@@ -41,9 +41,9 @@ void free_consfront(struct consfront_dev *dev)
     }
 
 close:
-    if (err) free(err);
+    free(err);
     err = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err) free(err);
+    free(err);
 
     mask_evtchn(dev->evtchn);
     unbind_evtchn(dev->evtchn);
@@ -134,7 +134,7 @@ again:
 
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
diff --git a/extras/mini-os/fbfront.c b/extras/mini-os/fbfront.c
index a276193..1e01513 100644
--- a/extras/mini-os/fbfront.c
+++ b/extras/mini-os/fbfront.c
@@ -131,7 +131,7 @@ again:
     }
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
@@ -171,7 +171,7 @@ done:
             err = xenbus_wait_for_state_change(path, &state, &dev->events);
         if (state != XenbusStateConnected) {
             printk("backend not available, state=%d\n", state);
-            if (err) free(err);
+            free(err);
             err = xenbus_unwatch_path_token(XBT_NIL, path, path);
             goto error;
         }
@@ -256,7 +256,7 @@ void shutdown_kbdfront(struct kbdfront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("shutdown_kbdfront: error changing state to %d: %s\n",
@@ -266,7 +266,7 @@ void shutdown_kbdfront(struct kbdfront_dev *dev)
     state = xenbus_read_integer(path);
     while (state < XenbusStateClosed) {
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-        if (err) free(err);
+        free(err);
     }
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) {
@@ -279,19 +279,19 @@ void shutdown_kbdfront(struct kbdfront_dev *dev)
     err = xenbus_wait_for_state_change(path, &state, &dev->events);
 
 close_kbdfront:
-    if (err) free(err);
+    free(err);
     err2 = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err2) free(err2);
+    free(err2);
 
     snprintf(nodename, sizeof(nodename), "%s/page-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/request-abs-pointer", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
 
     if (!err)
         free_kbdfront(dev);
@@ -498,7 +498,7 @@ again:
     }
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
@@ -538,7 +538,7 @@ done:
             err = xenbus_wait_for_state_change(path, &state, &dev->events);
         if (state != XenbusStateConnected) {
             printk("backend not available, state=%d\n", state);
-            if (err) free(err);
+            free(err);
             err = xenbus_unwatch_path_token(XBT_NIL, path, path);
             goto error;
         }
@@ -654,7 +654,7 @@ void shutdown_fbfront(struct fbfront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("shutdown_fbfront: error changing state to %d: %s\n",
@@ -664,7 +664,7 @@ void shutdown_fbfront(struct fbfront_dev *dev)
     state = xenbus_read_integer(path);
     if (state < XenbusStateClosed) {
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-        if (err) free(err);
+        free(err);
     }
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) {
@@ -677,22 +677,22 @@ void shutdown_fbfront(struct fbfront_dev *dev)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
 
 close_fbfront:
-    if (err) free(err);
+    free(err);
     err2 = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err2) free(err2);
+    free(err2);
 
     snprintf(nodename, sizeof(nodename), "%s/page-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/protocol", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/feature-update", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
 
     if (!err)
         free_fbfront(dev);
diff --git a/extras/mini-os/kernel.c b/extras/mini-os/kernel.c
index 24fa25c..ea409f4 100644
--- a/extras/mini-os/kernel.c
+++ b/extras/mini-os/kernel.c
@@ -85,9 +85,9 @@ static void shutdown_thread(void *p)
         xenbus_wait_for_watch(&events);
     }
     err = xenbus_unwatch_path_token(XBT_NIL, path, token);
-    if (err) free(err);
+    free(err);
     err = xenbus_write(XBT_NIL, path, "");
-    if (err) free(err);
+    free(err);
     printk("Shutting down (%s)\n", shutdown);
 
     if (!strcmp(shutdown, "poweroff"))
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index cfbdc90..13e7e59 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -1156,8 +1156,7 @@ LWIP_STUB(int, getsockname, (int s, struct sockaddr *name, socklen_t *namelen),
 static char *syslog_ident;
 void openlog(const char *ident, int option, int facility)
 {
-    if (syslog_ident)
-        free(syslog_ident);
+    free(syslog_ident);
     syslog_ident = strdup(ident);
 }
 
diff --git a/extras/mini-os/netfront.c b/extras/mini-os/netfront.c
index 3a5be64..44c3995 100644
--- a/extras/mini-os/netfront.c
+++ b/extras/mini-os/netfront.c
@@ -412,7 +412,7 @@ again:
     }
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
@@ -525,7 +525,7 @@ void shutdown_netfront(struct netfront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("shutdown_netfront: error changing state to %d: %s\n",
@@ -535,7 +535,7 @@ void shutdown_netfront(struct netfront_dev *dev)
     state = xenbus_read_integer(path);
     while (state < XenbusStateClosed) {
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-        if (err) free(err);
+        free(err);
     }
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateInitialising)) != NULL) {
@@ -548,22 +548,22 @@ void shutdown_netfront(struct netfront_dev *dev)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
 
 close:
-    if (err) free(err);
+    free(err);
     err2 = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err2) free(err2);
+    free(err2);
 
     snprintf(nodename, sizeof(nodename), "%s/tx-ring-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/rx-ring-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/request-rx-copy", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
 
     if (!err)
         free_netfront(dev);
diff --git a/extras/mini-os/pcifront.c b/extras/mini-os/pcifront.c
index 7838021..16a4b49 100644
--- a/extras/mini-os/pcifront.c
+++ b/extras/mini-os/pcifront.c
@@ -212,7 +212,7 @@ again:
     }
 
     err = xenbus_transaction_end(xbt, 0, &retry);
-    if (err) free(err);
+    free(err);
     if (retry) {
             goto again;
         printk("completing transaction\n");
@@ -251,7 +251,7 @@ done:
             err = xenbus_wait_for_state_change(path, &state, &dev->events);
         if (state != XenbusStateConnected) {
             printk("backend not avalable, state=%d\n", state);
-            if (err) free(err);
+            free(err);
             err = xenbus_unwatch_path_token(XBT_NIL, path, path);
             goto error;
         }
@@ -342,7 +342,7 @@ void shutdown_pcifront(struct pcifront_dev *dev)
     state = xenbus_read_integer(path);
     while (err == NULL && state < XenbusStateClosing)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
-    if (err) free(err);
+    free(err);
 
     if ((err = xenbus_switch_state(XBT_NIL, nodename, XenbusStateClosed)) != NULL) {
         printk("shutdown_pcifront: error changing state to %d: %s\n",
@@ -365,16 +365,16 @@ void shutdown_pcifront(struct pcifront_dev *dev)
         err = xenbus_wait_for_state_change(path, &state, &dev->events);
 
 close_pcifront:
-    if (err) free(err);
+    free(err);
     err2 = xenbus_unwatch_path_token(XBT_NIL, path, path);
-    if (err2) free(err2);
+    free(err2);
 
     snprintf(nodename, sizeof(nodename), "%s/info-ref", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
     snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename);
     err2 = xenbus_rm(XBT_NIL, nodename);
-    if (err2) free(err2);
+    free(err2);
 
     if (!err)
         free_pcifront(dev);
diff --git a/tools/blktap/drivers/blktapctrl.c b/tools/blktap/drivers/blktapctrl.c
index 0a8b880..0022264 100644
--- a/tools/blktap/drivers/blktapctrl.c
+++ b/tools/blktap/drivers/blktapctrl.c
@@ -642,11 +642,9 @@ static int connect_tapdisk(blkif_t *blkif, int minor)
 	ret = 0;
 	
 fail:
-	if (rdctldev)
-		free(rdctldev);
+	free(rdctldev);
 
-	if (wrctldev)
-		free(wrctldev);
+	free(wrctldev);
 
 	return ret;
 }
diff --git a/tools/blktap/drivers/tapaio.c b/tools/blktap/drivers/tapaio.c
index 140c44a..ae26577 100644
--- a/tools/blktap/drivers/tapaio.c
+++ b/tools/blktap/drivers/tapaio.c
@@ -244,18 +244,12 @@ fail:
 
 void tap_aio_free(tap_aio_context_t *ctx)
 {
-	if (ctx->sector_lock)
-		free(ctx->sector_lock);
-	if (ctx->iocb_list)
-		free(ctx->iocb_list);
-	if (ctx->pending_aio)
-		free(ctx->pending_aio);
-	if (ctx->aio_events)
-		free(ctx->aio_events);
-	if (ctx->iocb_free)
-		free(ctx->iocb_free);
-	if (ctx->iocb_queue)
-		free(ctx->iocb_queue);
+	free(ctx->sector_lock);
+	free(ctx->iocb_list);
+	free(ctx->pending_aio);
+	free(ctx->aio_events);
+	free(ctx->iocb_free);
+	free(ctx->iocb_queue);
 }
 
 /*TODO: Fix sector span!*/
diff --git a/tools/blktap/drivers/tapdisk.c b/tools/blktap/drivers/tapdisk.c
index 19cd777..a6e8a7c 100644
--- a/tools/blktap/drivers/tapdisk.c
+++ b/tools/blktap/drivers/tapdisk.c
@@ -82,10 +82,8 @@ static void daemonize(void)
 
 static void free_driver(struct disk_driver *d)
 {
-	if (d->name)
-		free(d->name);
-	if (d->private)
-		free(d->private);
+	free(d->name);
+	free(d->private);
 	free(d);
 }
 
@@ -354,8 +352,7 @@ static int open_disk(struct td_state *s,
 
  fail:
 	DPRINTF("failed opening disk\n");
-	if (id.name)
-		free(id.name);
+	free(id.name);
 	d = s->disks;
 	while (d) {
 		struct disk_driver *tmp = d->next;
diff --git a/tools/blktap/lib/xenbus.c b/tools/blktap/lib/xenbus.c
index 948eb02..9edbf5a 100644
--- a/tools/blktap/lib/xenbus.c
+++ b/tools/blktap/lib/xenbus.c
@@ -160,10 +160,8 @@ static int backend_remove(struct xs_handle *h, struct backend_info *be)
 		DPRINTF("Freeing blkif dev [%d]\n",be->blkif->devnum);
 		free_blkif(be->blkif);
 	}
-	if (be->frontpath)
-		free(be->frontpath);
-	if (be->backpath)
-		free(be->backpath);
+	free(be->frontpath);
+	free(be->backpath);
 	free(be);
 	return 0;
 }
@@ -435,8 +433,7 @@ fail:
 		backend_remove(h, be);
 	}
 close:
-	if (path)
-		free(path);
+	free(path);
 	return;
 }
 
@@ -501,8 +498,7 @@ static void ueblktap_probe(struct xs_handle *h, struct xenbus_watch *w,
 		if ( (be != NULL) && (be->blkif != NULL) ) 
 			backend_remove(h, be);
 		else goto free_be;
-		if (bepath)
-			free(bepath);
+		free(bepath);
 		return;
 	}
 	
@@ -522,12 +518,9 @@ static void ueblktap_probe(struct xs_handle *h, struct xenbus_watch *w,
 	return;
 	
  free_be:
-	if (frontend)
-		free(frontend);
-	if (bepath)
-		free(bepath);
-	if (be) 
-		free(be);
+	free(frontend);
+	free(bepath);
+	free(be);
 }
 
 /**
diff --git a/tools/blktap/lib/xs_api.c b/tools/blktap/lib/xs_api.c
index 4648432..1624cb9 100644
--- a/tools/blktap/lib/xs_api.c
+++ b/tools/blktap/lib/xs_api.c
@@ -204,8 +204,7 @@ char *get_dom_domid(struct xs_handle *h)
 	}
 done:
 	xs_transaction_end(h, xth, 0);
-	if (e)
-		free(e);
+	free(e);
 	return domid;
 }
 
diff --git a/tools/blktap2/control/tap-ctl-list.c b/tools/blktap2/control/tap-ctl-list.c
index c91f6f4..170735e 100644
--- a/tools/blktap2/control/tap-ctl-list.c
+++ b/tools/blktap2/control/tap-ctl-list.c
@@ -219,8 +219,7 @@ out:
 	return err ? : n_minors;
 
 fail:
-	if (minorv)
-		free(minorv);
+	free(minorv);
 
 	goto out;
 }
@@ -302,8 +301,7 @@ out:
 	return err ? : n_taps;
 
 fail:
-	if (tapv)
-		free(tapv);
+	free(tapv);
 
 	goto out;
 }
diff --git a/tools/blktap2/drivers/block-log.c b/tools/blktap2/drivers/block-log.c
index 5330cdc..21c1946 100644
--- a/tools/blktap2/drivers/block-log.c
+++ b/tools/blktap2/drivers/block-log.c
@@ -110,8 +110,7 @@ static int writelog_create(struct tdlog_state *s)
 
 static int writelog_free(struct tdlog_state *s)
 {
-  if (s->writelog)
-    free(s->writelog);
+  free(s->writelog);
 
   return 0;
 }
diff --git a/tools/flask/utils/loadpolicy.c b/tools/flask/utils/loadpolicy.c
index f347b97..2edcf97 100644
--- a/tools/flask/utils/loadpolicy.c
+++ b/tools/flask/utils/loadpolicy.c
@@ -108,8 +108,7 @@ int main (int argCnt, const char *args[])
     }
 
 done:
-    if ( polMemCp )
-        free(polMemCp);
+    free(polMemCp);
     if ( polMem )
     {
         ret = munmap(polMem, info.st_size);
diff --git a/tools/libxc/xc_compression.c b/tools/libxc/xc_compression.c
index 89f1be7..8f0b89d 100644
--- a/tools/libxc/xc_compression.c
+++ b/tools/libxc/xc_compression.c
@@ -457,16 +457,11 @@ void xc_compression_free_context(xc_interface *xch, comp_ctx *ctx)
 {
     if (!ctx) return;
 
-    if (ctx->inputbuf)
-        free(ctx->inputbuf);
-    if (ctx->sendbuf_pfns)
-        free(ctx->sendbuf_pfns);
-    if (ctx->cache_base)
-        free(ctx->cache_base);
-    if (ctx->pfn2cache)
-        free(ctx->pfn2cache);
-    if (ctx->cache)
-        free(ctx->cache);
+    free(ctx->inputbuf);
+    free(ctx->sendbuf_pfns);
+    free(ctx->cache_base);
+    free(ctx->pfn2cache);
+    free(ctx->cache);
     free(ctx);
 }
 
diff --git a/tools/libxc/xc_core_x86.c b/tools/libxc/xc_core_x86.c
index a9681f7..e328dcf 100644
--- a/tools/libxc/xc_core_x86.c
+++ b/tools/libxc/xc_core_x86.c
@@ -180,11 +180,9 @@ out:
     if ( live_p2m_frame_list )
         munmap(live_p2m_frame_list, P2M_FLL_ENTRIES * PAGE_SIZE);
 
-    if ( p2m_frame_list_list )
-        free(p2m_frame_list_list);
+    free(p2m_frame_list_list);
 
-    if ( p2m_frame_list )
-        free(p2m_frame_list);
+    free(p2m_frame_list);
 
     errno = err;
     return ret;
diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c
index fbc15e9..673d1e9 100644
--- a/tools/libxc/xc_domain_save.c
+++ b/tools/libxc/xc_domain_save.c
@@ -773,11 +773,9 @@ static xen_pfn_t *map_and_save_p2m_table(xc_interface *xch,
     if ( live_p2m_frame_list )
         munmap(live_p2m_frame_list, P2M_FLL_ENTRIES * PAGE_SIZE);
 
-    if ( p2m_frame_list_list ) 
-        free(p2m_frame_list_list);
+    free(p2m_frame_list_list);
 
-    if ( p2m_frame_list ) 
-        free(p2m_frame_list);
+    free(p2m_frame_list);
 
     return success ? p2m : NULL;
 }
diff --git a/tools/libxc/xc_gnttab.c b/tools/libxc/xc_gnttab.c
index a8cc381..79dab40 100644
--- a/tools/libxc/xc_gnttab.c
+++ b/tools/libxc/xc_gnttab.c
@@ -124,8 +124,7 @@ static void *_gnttab_map_table(xc_interface *xch, int domid, int *gnt_num)
 err:
     if ( frame_list )
         xc_hypercall_buffer_free(xch, frame_list);
-    if ( pfn_list )
-        free(pfn_list);
+    free(pfn_list);
 
     return gnt;
 }
diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c
index 8195efb..0b4cdf9 100644
--- a/tools/libxc/xc_offline_page.c
+++ b/tools/libxc/xc_offline_page.c
@@ -626,14 +626,11 @@ failed:
         }
     }
 
-    if (mmu)
-        free(mmu);
+    free(mmu);
 
-    if (old_ptes.entries)
-        free(old_ptes.entries);
+    free(old_ptes.entries);
 
-    if (backup)
-        free(backup);
+    free(backup);
 
     if (gnttab_v1)
         munmap(gnttab_v1, gnt_num / (PAGE_SIZE/sizeof(grant_entry_v1_t)));
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c
index fd2f280..73b7e63 100644
--- a/tools/libxl/libxl_event.c
+++ b/tools/libxl/libxl_event.c
@@ -578,8 +578,7 @@ int libxl__ev_xswatch_register(libxl__gc *gc, libxl__ev_xswatch *w,
  out_rc:
     if (use)
         LIBXL_SLIST_INSERT_HEAD(&CTX->watch_freeslots, use, empty);
-    if (path_copy)
-        free(path_copy);
+    free(path_copy);
     CTX_UNLOCK;
     return rc;
 }
diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c
index f681f3a..7e825ee 100644
--- a/tools/libxl/libxl_qmp.c
+++ b/tools/libxl/libxl_qmp.c
@@ -406,12 +406,10 @@ static void qmp_close(libxl__qmp_handler *qmp)
 
     close(qmp->qmp_fd);
     LIBXL_STAILQ_FOREACH(pp, &qmp->callback_list, next) {
-        if (tmp)
-            free(tmp);
+        free(tmp);
         tmp = pp;
     }
-    if (tmp)
-        free(tmp);
+    free(tmp);
 }
 
 static int qmp_next(libxl__gc *gc, libxl__qmp_handler *qmp)
diff --git a/tools/libxl/libxl_utils.c b/tools/libxl/libxl_utils.c
index 8e567a8..664a730 100644
--- a/tools/libxl/libxl_utils.c
+++ b/tools/libxl/libxl_utils.c
@@ -355,7 +355,7 @@ int libxl_read_file_contents(libxl_ctx *ctx, const char *filename,
     e = errno;
     assert(e != ENOENT);
     if (f) fclose(f);
-    if (data) free(data);
+    free(data);
     return e;
 }
 
diff --git a/tools/memshr/bidir-hash.c b/tools/memshr/bidir-hash.c
index bed8179..3d34637 100644
--- a/tools/memshr/bidir-hash.c
+++ b/tools/memshr/bidir-hash.c
@@ -208,8 +208,8 @@ static void free_buckets(struct __hash *h,
                          struct bucket *buckets,
                          struct bucket_lock *bucket_locks)
 {
-    if(buckets) free(buckets);
-    if(bucket_locks) free(bucket_locks);
+    free(buckets);
+    free(bucket_locks);
 }
 
 static int max_entries(struct __hash *h)
diff --git a/tools/misc/gtraceview.c b/tools/misc/gtraceview.c
index d8b4589..cf9287c 100644
--- a/tools/misc/gtraceview.c
+++ b/tools/misc/gtraceview.c
@@ -959,8 +959,7 @@ int time_mode_rebuild(uint64_t start_time, uint64_t time_scale)
     state = malloc(sizeof(struct state) * number);
     if (!state)
         return 1;
-    if (this->state)
-        free(this->state);
+    free(this->state);
     this->state = state;
     this->width = 9;
     this->row = 0;
diff --git a/tools/tests/xen-access/xen-access.c b/tools/tests/xen-access/xen-access.c
index 49195a8..b00c05a 100644
--- a/tools/tests/xen-access/xen-access.c
+++ b/tools/tests/xen-access/xen-access.c
@@ -219,10 +219,8 @@ int xenaccess_teardown(xc_interface *xch, xenaccess_t *xenaccess)
     }
     xenaccess->xc_handle = NULL;
 
-    if ( xenaccess->platform_info )
-        free(xenaccess->platform_info);
-    if ( xenaccess->domain_info )
-        free(xenaccess->domain_info);
+    free(xenaccess->platform_info);
+    free(xenaccess->domain_info);
     free(xenaccess);
 
     return 0;
diff --git a/tools/xenbackendd/xenbackendd.c b/tools/xenbackendd/xenbackendd.c
index 5381a2a..f1eb1f5 100644
--- a/tools/xenbackendd/xenbackendd.c
+++ b/tools/xenbackendd/xenbackendd.c
@@ -291,8 +291,7 @@ main(int argc, char * const argv[])
 
 		switch(type) {
 		case DEVTYPE_VIF:
-			if (s)
-				free(s);
+			free(s);
 			snprintf(buf, sizeof(buf), "%s/script",
 			    vec[XS_WATCH_PATH]);
 			s = xs_read(xs, XBT_NULL, buf, 0);
@@ -314,8 +313,7 @@ main(int argc, char * const argv[])
 		}
 
 next2:
-		if (s)
-			free(s);
+		free(s);
 		free(sstate);
 
 next1:
-- 
1.7.10.4

  reply	other threads:[~2013-09-29  3:26 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18  3:37 [PATCH 00/28] Fixes for various minor Coverity issues, volume 2 Matthew Daley
2013-09-18  3:37 ` [PATCH 01/28] gnttab: remove unused shared header lookup Matthew Daley
2013-09-19  9:12   ` Tim Deegan
2013-09-18  3:37 ` [PATCH 02/28] libxc: fix memory leak in load_p2m_frame_list error handling Matthew Daley
2013-09-25 12:57   ` Ian Campbell
2013-09-18  3:37 ` [PATCH 03/28] libxc: move munmap into the loop it's needed in in change_pte Matthew Daley
2013-09-25 11:39   ` Ian Campbell
2013-09-29  1:35     ` [PATCH] libxc: only munmap when something has actually been mapped " Matthew Daley
2013-10-03 13:39       ` Ian Campbell
2013-09-18  3:37 ` [PATCH 04/28] libxl: fix libxl_string_list_length and its only caller Matthew Daley
2013-09-25 12:58   ` Ian Campbell
2013-09-26 19:29   ` Boris Ostrovsky
2013-09-26 19:37     ` Andrew Cooper
2013-09-27  0:46       ` Matthew Daley
2013-09-18  3:37 ` [PATCH 05/28] libxl: fix dispose without init of disk in cd_insert Matthew Daley
2013-09-25 13:01   ` Ian Campbell
2013-09-18  3:37 ` [PATCH 06/28] libxl: fix leak of corename in handle_domain_death Matthew Daley
2013-09-18  3:37 ` [PATCH 07/28] libxl: fix leak of config_data in main_cpupoolcreate Matthew Daley
2013-09-18  3:37 ` [PATCH 08/28] libxl: fix leak of rune in main_remus Matthew Daley
2013-09-18  3:37 ` [PATCH 09/28] libxl: fix out-of-memory check in parse_global_config Matthew Daley
2013-09-18  3:37 ` [PATCH 10/28] libxl: only free cpupoolinfo if necessary in libxl_list_cpupool Matthew Daley
2013-09-18  8:06   ` Dario Faggioli
2013-09-18  8:58     ` Matthew Daley
2013-09-18  3:37 ` [PATCH 11/28] libxl: only put poller if already gotten in libxl_event_wait Matthew Daley
2013-09-18 12:29   ` Andrew Cooper
2013-09-18 13:06     ` Matthew Daley
2013-09-29  5:24     ` [PATCH v2] " Matthew Daley
2013-10-03 13:39       ` Ian Campbell
2013-10-11 11:12         ` [PATCH] libxl: make libxl__poller_put tolerate p==NULL libxl_event_wait Ian Jackson
2013-10-11 11:47           ` Ian Campbell
2013-10-11 14:51             ` Ian Jackson
2013-10-12 22:38           ` Matthew Daley
2013-10-14 16:49             ` Ian Jackson
2013-09-18  3:37 ` [PATCH 12/28] libxl: only free cputopology if it was allocated in libxl__get_numa_candidate Matthew Daley
2013-09-18  7:57   ` Dario Faggioli
2013-09-18  8:42     ` Matthew Daley
2013-09-18  9:10       ` Dario Faggioli
2013-09-18  9:30         ` Matthew Daley
2013-09-18 12:54           ` Dario Faggioli
2013-09-18  3:37 ` [PATCH 13/28] libxl: only free cputopology if it was allocated in libxl_{cpu, node}map_to_{node, cpu}map Matthew Daley
2013-09-18  8:18   ` Dario Faggioli
2013-09-18  8:50     ` Matthew Daley
2013-09-18  8:59       ` Dario Faggioli
2013-09-29  5:47     ` [PATCH v2] libxl: correctly handle libxl_get_cpu_topology failure " Matthew Daley
2013-09-30 10:29       ` Dario Faggioli
2013-10-03 14:03         ` Ian Campbell
2013-09-18  3:37 ` [PATCH 14/28] libxl: only free console reader if it was allocated in main_dmesg Matthew Daley
2013-09-18  3:37 ` [PATCH 15/28] libxl: fix typo in libxl__hotplug_nic error checking Matthew Daley
2013-09-18  3:37 ` [PATCH 16/28] libxl: fix file open failure check in libxl__file_reference_map Matthew Daley
2013-09-18  3:37 ` [PATCH 17/28] libxl: gettimeofday doesn't return an errno on failure Matthew Daley
2013-09-25 12:04   ` Ian Campbell
2013-09-25 23:11     ` Matthew Daley
2013-09-26  8:51       ` Ian Campbell
2013-09-18  3:37 ` [PATCH 18/28] xenstored: handle unlikely failure better in ask_parents Matthew Daley
2013-09-25 13:06   ` Ian Campbell
2013-09-25 23:17     ` Matthew Daley
2013-09-18  3:37 ` [PATCH 19/28] xenstored: fix faulty check for bad handle in domain_init Matthew Daley
2013-09-18  3:37 ` [PATCH 20/28] xenstore: check socket path length before copying it Matthew Daley
2013-09-18  3:37 ` [PATCH 21/28] mini-os: fix nodename generation in init_netfront Matthew Daley
2013-09-18 11:46   ` Samuel Thibault
2013-09-18  3:37 ` [PATCH 22/28] mini-os: fix various memory leaks in blkfront Matthew Daley
2013-09-18 11:47   ` Samuel Thibault
2013-09-18  3:37 ` [PATCH 23/28] mini-os: fix various memory leaks in {fb, kbd}front Matthew Daley
2013-09-18 11:50   ` Samuel Thibault
2013-09-18 12:39   ` Andrew Cooper
2013-09-18 13:01     ` Matthew Daley
2013-09-29  3:05     ` [PATCH] remove unnecessary null pointer checks before frees Matthew Daley
2013-09-29  3:26       ` Matthew Daley [this message]
2013-09-30 21:15         ` [PATCH v2] " Samuel Thibault
2013-10-03 13:43         ` Ian Campbell
2013-10-07 10:15           ` George Dunlap
2013-10-15  5:18           ` [PATCH v3] " Matthew Daley
2013-10-31 22:03             ` Ian Campbell
2013-09-18  3:38 ` [PATCH 24/28] mini-os: fix various memory leaks in netfront Matthew Daley
2013-09-18 11:50   ` Samuel Thibault
2013-09-18  3:38 ` [PATCH 25/28] mini-os: fix various memory leaks in pcifront Matthew Daley
2013-09-18 11:51   ` Samuel Thibault
2013-09-18  3:38 ` [PATCH 26/28] mini-os: fix various memory leaks in consfront Matthew Daley
2013-09-18 11:53   ` Samuel Thibault
2013-09-18  3:38 ` [PATCH 27/28] mini-os: fix various memory leaks in various locations Matthew Daley
2013-09-18 11:54   ` Samuel Thibault
2013-09-18  3:38 ` [PATCH 28/28] gdbsx: clear sockaddr before using it Matthew Daley
2013-09-21 15:57 ` [PATCH 00/28] Fixes for various minor Coverity issues, volume 2 Ian Campbell
2013-10-03 13:45 ` Ian Campbell
2013-10-03 13:47   ` Ian Campbell
2013-10-03 23:29   ` Matthew Daley
2013-10-04  8:00     ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1380425218-15403-1-git-send-email-mattjd@gmail.com \
    --to=mattjd@gmail.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).