Message ID | 1361832890-40921-6-git-send-email-sandeen@redhat.com (mailing list archive) |
---|---|
State | Under Review, archived |
Headers | show |
diff --git a/volumes.c b/volumes.c index c8fbde3..ca1b402 100644 --- a/volumes.c +++ b/volumes.c @@ -1226,6 +1226,7 @@ again: if (multi_ret && stripes_allocated < stripes_required) { stripes_allocated = stripes_required; kfree(multi); + multi = NULL; goto again; } stripe_nr = offset;
__btrfs_map_block() can possibly do the goto again: loop after having allocated & freed the "multi" pointer. There are then a couple error conditions where it will attempt to again kfree the now non-NULL multi pointer. So before retrying, reset multi to NULL after we free it. Signed-off-by: Eric Sandeen <sandeen@redhat.com> --- volumes.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)