[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-3.2-testing] blktapctrl: Fix a potential device minor number leak.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1204733960 0
# Node ID dfe09df4e588984f7befd4ff30439ce3c29e904d
# Parent  2156219ec80884c2f8b32ccfc2d18207bdd07aa9
blktapctrl: Fix a potential device minor number leak.
Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>
xen-unstable changeset:   17172:990eb630033a53d5c319376c022283b192890882
xen-unstable date:        Mon Mar 03 11:08:10 2008 +0000
---
 tools/blktap/drivers/blktapctrl.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff -r 2156219ec808 -r dfe09df4e588 tools/blktap/drivers/blktapctrl.c
--- a/tools/blktap/drivers/blktapctrl.c Wed Mar 05 16:18:45 2008 +0000
+++ b/tools/blktap/drivers/blktapctrl.c Wed Mar 05 16:19:20 2008 +0000
@@ -515,7 +515,7 @@ int blktapctrl_new_blkif(blkif_t *blkif)
                if (test_path(blk->params, &ptr, &type, &exist) != 0) {
                         DPRINTF("Error in blktap device string(%s).\n",
                                 blk->params);
-                        return -1;
+                        goto fail;
                 }
                blkif->drivertype = type;
                blkif->cookie = next_cookie++;
@@ -524,11 +524,11 @@ int blktapctrl_new_blkif(blkif_t *blkif)
                        DPRINTF("Process does not exist:\n");
                        if (asprintf(&rdctldev,
                                     "%s/tapctrlread%d", BLKTAP_CTRL_DIR, 
minor) == -1)
-                               return -1;
+                               goto fail;
                        if (asprintf(&wrctldev,
                                     "%s/tapctrlwrite%d", BLKTAP_CTRL_DIR, 
minor) == -1) {
                                free(rdctldev);
-                               return -1;
+                               goto fail;
                        }
                        blkif->fds[READ] = open_ctrl_socket(rdctldev);
                        blkif->fds[WRITE] = open_ctrl_socket(wrctldev);
@@ -540,7 +540,7 @@ int blktapctrl_new_blkif(blkif_t *blkif)
                        DPRINTF("Launching process, CMDLINE [tapdisk %s 
%s]\n",wrctldev, rdctldev);
                        if (launch_tapdisk(wrctldev, rdctldev) == -1) {
                                DPRINTF("Unable to fork, cmdline: [tapdisk %s 
%s]\n",wrctldev, rdctldev);
-                               return -1;
+                               goto fail;
                        }
 
                        free(rdctldev);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.