diff options
author | Matthew Daley <mattjd@gmail.com> | 2013-09-18 15:37:58 +1200 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-09-21 16:41:55 +0100 |
commit | 74ca2b137585eba5e5a64a301d3628a07460a28f (patch) | |
tree | 2c40dc931a15fa96bca90089365ed0f5b1a2989d /extras/mini-os/blkfront.c | |
parent | 3e7da90205a08b9ab31f4ada97c2d5bab491c2ec (diff) | |
download | xen-74ca2b137585eba5e5a64a301d3628a07460a28f.tar.gz xen-74ca2b137585eba5e5a64a301d3628a07460a28f.tar.bz2 xen-74ca2b137585eba5e5a64a301d3628a07460a28f.zip |
mini-os: fix various memory leaks in blkfront
Coverity-ID: 1055814
Coverity-ID: 1055815
Signed-off-by: Matthew Daley <mattjd@gmail.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'extras/mini-os/blkfront.c')
-rw-r--r-- | extras/mini-os/blkfront.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/extras/mini-os/blkfront.c b/extras/mini-os/blkfront.c index ddcf665898..aead6bd052 100644 --- a/extras/mini-os/blkfront.c +++ b/extras/mini-os/blkfront.c @@ -250,7 +250,7 @@ error: void shutdown_blkfront(struct blkfront_dev *dev) { - char* err = NULL; + char* err = NULL, *err2; XenbusState state; char path[strlen(dev->backend) + strlen("/state") + 1]; @@ -295,12 +295,15 @@ void shutdown_blkfront(struct blkfront_dev *dev) close: if (err) free(err); - xenbus_unwatch_path_token(XBT_NIL, path, path); + err2 = xenbus_unwatch_path_token(XBT_NIL, path, path); + if (err2) free(err2); snprintf(nodename, sizeof(nodename), "%s/ring-ref", dev->nodename); - xenbus_rm(XBT_NIL, nodename); + err2 = xenbus_rm(XBT_NIL, nodename); + if (err2) free(err2); snprintf(nodename, sizeof(nodename), "%s/event-channel", dev->nodename); - xenbus_rm(XBT_NIL, nodename); + err2 = xenbus_rm(XBT_NIL, nodename); + if (err2) free(err2); if (!err) free_blkfront(dev); |