From 24483157cb5f5d4d91186b549965eb4acf13a4d6 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Fri, 23 Apr 2021 09:09:30 +0200 Subject: Apply fix division by 0 on ZfsCompressedArcMeter patch from upstream --- debian/changelog | 6 ++++++ ...016-fix-div-by-zero-zfscompressedarcmeter.patch | 25 ++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 32 insertions(+) create mode 100644 debian/patches/0016-fix-div-by-zero-zfscompressedarcmeter.patch diff --git a/debian/changelog b/debian/changelog index 2249a97..7d47000 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +htop (3.0.5-6) UNRELEASED; urgency=medium + + * Fix division by 0 on ZfsCompressedArcMeter (when no ZFS volume is mounted) + + -- Daniel Lange Fri, 23 Apr 2021 09:00:00 +0200 + htop (3.0.5-6) unstable; urgency=medium * Fix cleaning the infoscreen before a next scan diff --git a/debian/patches/0016-fix-div-by-zero-zfscompressedarcmeter.patch b/debian/patches/0016-fix-div-by-zero-zfscompressedarcmeter.patch new file mode 100644 index 0000000..a548469 --- /dev/null +++ b/debian/patches/0016-fix-div-by-zero-zfscompressedarcmeter.patch @@ -0,0 +1,25 @@ +From 099dab88be5a7a1c9207e7bc7116618b7108f851 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= +Date: Thu, 22 Apr 2021 17:12:02 +0200 +Subject: [PATCH] ZfsCompressedArcMeter: avoid division by 0 + +On systems not using ZFS `this->values[0]` is zero. +--- + zfs/ZfsCompressedArcMeter.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/zfs/ZfsCompressedArcMeter.c ++++ b/zfs/ZfsCompressedArcMeter.c +@@ -33,7 +33,11 @@ + } + + static void ZfsCompressedArcMeter_printRatioString(const Meter* this, char* buffer, size_t size) { +- xSnprintf(buffer, size, "%.2f:1", this->total / this->values[0]); ++ if (this->values[0] > 0) { ++ xSnprintf(buffer, size, "%.2f:1", this->total / this->values[0]); ++ } else { ++ xSnprintf(buffer, size, "N/A"); ++ } + } + + static void ZfsCompressedArcMeter_updateValues(Meter* this, char* buffer, size_t size) { diff --git a/debian/patches/series b/debian/patches/series index cd10755..9ab8f3d 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,3 +13,4 @@ 0013-fix-btime-zero.patch 0014-fix-zfs-coloring.patch 0015-clean-infoscreen-before-new-scan.patch +0016-fix-div-by-zero-zfscompressedarcmeter.patch -- cgit v1.2.3