Fixed double-free() during normal tapdisk cleanup for quit process
Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Signed-off-by: Josh Nicholas <jnicholas@xxxxxxxxxxxxxxx>
diff -r 58aa2447f212 tools/blktap/drivers/tapdisk.c
--- a/tools/blktap/drivers/tapdisk.c Wed Jul 11 15:26:55 2007 -0400
+++ b/tools/blktap/drivers/tapdisk.c Wed Jul 11 15:26:58 2007 -0400
@@ -849,6 +849,8 @@ int main(int argc, char *argv[])
exit(-1);
}
+ DPRINTF("running R: '%s' W: '%s'\n", argv[1], argv[2]);
+
while (run)
{
ret = 0;
@@ -914,12 +916,13 @@ int main(int argc, char *argv[])
s = ptr->s;
unmap_disk(s);
- free(s->blkif);
- free(s->ring_info);
- free(s);
+
close(ptr->tap_fd);
ptr = ptr->next;
}
+
+ DPRINTF("done R: '%s' W: '%s'\n", argv[1], argv[2]);
+
closelog();
return 0;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|