aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/blkfront.c
diff options
context:
space:
mode:
Diffstat (limited to 'extras/mini-os/blkfront.c')
-rw-r--r--extras/mini-os/blkfront.c11
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);