diff options
author | vhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com> | 2005-12-31 20:17:45 +0000 |
---|---|---|
committer | vhanquez@kneesa.uk.xensource.com <vhanquez@kneesa.uk.xensource.com> | 2005-12-31 20:17:45 +0000 |
commit | d33de0f49690354f8e2d5cda415aa47b72cbe85b (patch) | |
tree | fbb7524befd3455d23e0c8cc732cd343674d9d18 | |
parent | 27c7f637f8bc130570326b7210de9a83a89adcc0 (diff) | |
download | xen-d33de0f49690354f8e2d5cda415aa47b72cbe85b.tar.gz xen-d33de0f49690354f8e2d5cda415aa47b72cbe85b.tar.bz2 xen-d33de0f49690354f8e2d5cda415aa47b72cbe85b.zip |
fix possible memory leak if one of the kmalloc fail.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
-rw-r--r-- | linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c index 9228cb5190..34d3399a8e 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c @@ -540,6 +540,9 @@ static int __init blkif_init(void) pending_vaddrs = kmalloc(sizeof(pending_vaddrs[0]) * mmap_pages, GFP_KERNEL); if (!pending_reqs || !pending_grant_handles || !pending_vaddrs) { + kfree(pending_reqs); + kfree(pending_grant_handles); + kfree(pending_vaddrs); printk("%s: out of memory\n", __FUNCTION__); return -1; } |