From a1a3dc7fd4fb7ab0abb1269d030d85e385fc8038 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Thu, 3 Jul 2014 17:36:38 +0800 Subject: [PATCH] btrfs-progs: Fix malloc size for superblock. recover_prepare() in chunk-recover.c alloc memory which only contains sizeof(struct btrfs_super_block). This will cause glibc malloc error after superblock csum is calculated. Use BTRFS_SUPER_INFO_SIZE to fix the bug. Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- chunk-recover.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chunk-recover.c b/chunk-recover.c index 14c25a7..aa38916 100644 --- a/chunk-recover.c +++ b/chunk-recover.c @@ -1340,7 +1340,7 @@ static int recover_prepare(struct recover_control *rc, char *path) return -1; } - sb = malloc(sizeof(struct btrfs_super_block)); + sb = malloc(BTRFS_SUPER_INFO_SIZE); if (!sb) { fprintf(stderr, "allocating memory for sb failed.\n"); ret = -ENOMEM; -- 2.7.4