block: fix memory leak in bio_clone()

If bio_integrity_clone() fails, bio_clone() returns NULL without freeing
the newly allocated bio.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Li Zefan 2009-03-09 10:42:45 +01:00 committed by Jens Axboe
parent 87092698c6
commit 059ea3318c
1 changed files with 3 additions and 1 deletions

View File

@ -465,8 +465,10 @@ struct bio *bio_clone(struct bio *bio, gfp_t gfp_mask)
ret = bio_integrity_clone(b, bio, gfp_mask, fs_bio_set);
if (ret < 0)
if (ret < 0) {
bio_put(b);
return NULL;
}
}
return b;