266ea5b
From 691a0237809b5364117446a8a9b0cceeb0a747c1 Mon Sep 17 00:00:00 2001
266ea5b
From: Ming-Hung Tsai <mtsai@redhat.com>
266ea5b
Date: Tue, 1 Jun 2021 11:24:11 +0800
266ea5b
Subject: [PATCH 02/10] [thin_show_metadata] Fix out-of-bounds access
266ea5b
266ea5b
---
266ea5b
 thin-provisioning/thin_show_metadata.cc | 3 ++-
266ea5b
 1 file changed, 2 insertions(+), 1 deletion(-)
266ea5b
266ea5b
diff --git a/thin-provisioning/thin_show_metadata.cc b/thin-provisioning/thin_show_metadata.cc
266ea5b
index bdbab3f..dbc7a80 100644
266ea5b
--- a/thin-provisioning/thin_show_metadata.cc
266ea5b
+++ b/thin-provisioning/thin_show_metadata.cc
266ea5b
@@ -206,7 +206,8 @@ namespace {
266ea5b
 
266ea5b
 		void run() {
266ea5b
 			auto line_length = 80;
266ea5b
-			for (block_address b = 0; b < 2000; b++) {
266ea5b
+			block_address nr_blocks = std::min<block_address>(2000, bm_.get_nr_blocks());
266ea5b
+			for (block_address b = 0; b < nr_blocks; b++) {
266ea5b
 				block_manager::read_ref rr = bm_.read_lock(b);
266ea5b
 
266ea5b
 				if (!(b % line_length)) {
266ea5b
-- 
266ea5b
1.8.3.1
266ea5b