[pbs-devel] [PATCH] fix #4638: proxmox-backup-client: status: guard against div by zero
Maximiliano Sandoval
m.sandoval at proxmox.com
Tue Jun 6 14:30:31 CEST 2023
From: Maximiliano Sandoval <msandoval at haya.proxmox.com>
We throw an error if the value for total is zero.
Signed-off-by: Maximiliano Sandoval <m.sandoval at proxmox.com>
---
proxmox-backup-client/src/main.rs | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/proxmox-backup-client/src/main.rs b/proxmox-backup-client/src/main.rs
index 55198108..5a804d95 100644
--- a/proxmox-backup-client/src/main.rs
+++ b/proxmox-backup-client/src/main.rs
@@ -1590,9 +1590,12 @@ async fn status(param: Value) -> Result<Value, Error> {
let v = v.as_u64().unwrap();
let total = record["total"].as_u64().unwrap();
let roundup = total / 200;
- let per = ((v + roundup) * 100) / total;
- let info = format!(" ({} %)", per);
- Ok(format!("{} {:>8}", v, info))
+ if let Some(per) = ((v + roundup) * 100).checked_div(total) {
+ let info = format!(" ({} %)", per);
+ Ok(format!("{} {:>8}", v, info))
+ } else {
+ bail!("Cannot render total percentage: denominator is zero");
+ }
};
let options = default_table_format_options()
--
2.30.2
More information about the pbs-devel
mailing list