From 65dd3d084e47aaee127c9b2e1bf37b489901e1a4 Mon Sep 17 00:00:00 2001 From: Yan Wang Date: Sat, 26 Feb 2022 11:06:47 +0800 Subject: [PATCH] qcow2: fix memory leak in qcow2_read_extensions Free feature_table if it is failed in bdrv_pread. Signed-off-by: fangyi Signed-off-by: Yan Wang --- ...memory-leak-in-qcow2_read_extensions.patch | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 qcow2-fix-memory-leak-in-qcow2_read_extensions.patch diff --git a/qcow2-fix-memory-leak-in-qcow2_read_extensions.patch b/qcow2-fix-memory-leak-in-qcow2_read_extensions.patch new file mode 100644 index 0000000..ae62942 --- /dev/null +++ b/qcow2-fix-memory-leak-in-qcow2_read_extensions.patch @@ -0,0 +1,28 @@ +From a999e010c6af90f0fc1ad9b998e2a9b760c40f1a Mon Sep 17 00:00:00 2001 +From: zhanghailiang +Date: Thu, 25 Jul 2019 16:05:11 +0800 +Subject: [PATCH 2/6] qcow2: fix memory leak in qcow2_read_extensions + +Free feature_table if it is failed in bdrv_pread. + +Signed-off-by: fangyi +Signed-off-by: Yan Wang +--- + block/qcow2.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/block/qcow2.c b/block/qcow2.c +index d509016..be90a89 100644 +--- a/block/qcow2.c ++++ b/block/qcow2.c +@@ -272,6 +272,7 @@ static int qcow2_read_extensions(BlockDriverState *bs, uint64_t start_offset, + void *feature_table = g_malloc0(ext.len + 2 * sizeof(Qcow2Feature)); + ret = bdrv_pread(bs->file, offset , feature_table, ext.len); + if (ret < 0) { ++ g_free(feature_table); + error_setg_errno(errp, -ret, "ERROR: ext_feature_table: " + "Could not read table"); + return ret; +-- +1.9.1 +