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>
This commit is contained in:
Matthew Daley authored and Ian Campbell committed 2013-09-21 16:41:55 +01:00
1 parent 3e7da90205
commit 74ca2b1375
1 file changed
+7 -4
+7 -4
View File
@@ -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);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.