summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/util-linux/util-linux/8a3a74160b96498d672e3652827aa7e6d7f3a120.patch
blob: a5bb00ab651d04f923da7791e42e950347d7f248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From 8a3a74160b96498d672e3652827aa7e6d7f3a120 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 15 Jun 2021 12:04:43 +0200
Subject: [PATCH] mkswap: fix holes detection (infinite loop and/or
 stack-buffer-underflow)

Reported-by: Brian Lane <bcl@redhat.com>
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1971877
Fix: https://github.com/karelzak/util-linux/issues/1348
Signed-off-by: Karel Zak <kzak@redhat.com>
Upstream-Status: Backport
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 disk-utils/mkswap.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/disk-utils/mkswap.c b/disk-utils/mkswap.c
index 27374fd72..c45a3a317 100644
--- a/disk-utils/mkswap.c
+++ b/disk-utils/mkswap.c
@@ -267,6 +267,8 @@ static void check_extents(struct mkswap_control *ctl)
 			return;
 
 		n = fiemap->fm_mapped_extents;
+		if (n == 0)
+			break;
 
 		for (i = 0; i < n; i++) {
 			struct fiemap_extent *e = &fiemap->fm_extents[i];