summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorasomers <asomers@FreeBSD.org>2017-07-07 15:22:29 +0000
committerasomers <asomers@FreeBSD.org>2017-07-07 15:22:29 +0000
commitbdbc33e513b6361aff25d65081706ff033c98441 (patch)
treed35fea72f97dbaa0ae3d703982910d3a82bfe7ec
parent173bac5bb31d4718be89f254d18b1e561f993845 (diff)
downloadFreeBSD-src-bdbc33e513b6361aff25d65081706ff033c98441.zip
FreeBSD-src-bdbc33e513b6361aff25d65081706ff033c98441.tar.gz
MFC r319337:
Fix integer overflow in "camcontrol format" Reported by: Coverity CID: 1011426 Sponsored by: Spectra Logic Corp
-rw-r--r--sbin/camcontrol/camcontrol.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index 37a7eb2..9cf8140 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@@ -6044,15 +6044,15 @@ doreport:
if ((scsi_get_sks(sense, ccb->csio.sense_len -
ccb->csio.sense_resid, sks) == 0)
&& (quiet == 0)) {
- int val;
+ uint32_t val;
u_int64_t percentage;
val = scsi_2btoul(&sks[1]);
- percentage = 10000 * val;
+ percentage = 10000ull * val;
fprintf(stdout,
"\rFormatting: %ju.%02u %% "
- "(%d/%d) done",
+ "(%u/%d) done",
(uintmax_t)(percentage /
(0x10000 * 100)),
(unsigned)((percentage /
OpenPOWER on IntegriCloud