blob: a5bb00ab651d04f923da7791e42e950347d7f248 [file] [log] [blame]
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];