From: Matthew Daley Date: Wed, 18 Sep 2013 03:37:58 +0000 (+1200) Subject: mini-os: fix various memory leaks in blkfront X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6306 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=74ca2b137585eba5e5a64a301d3628a07460a28f;p=xen.git mini-os: fix various memory leaks in blkfront Coverity-ID: 1055814 Coverity-ID: 1055815 Signed-off-by: Matthew Daley Acked-by: Samuel Thibault --- 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);