diff options
author | asomers <asomers@FreeBSD.org> | 2017-07-07 15:22:29 +0000 |
---|---|---|
committer | asomers <asomers@FreeBSD.org> | 2017-07-07 15:22:29 +0000 |
commit | bdbc33e513b6361aff25d65081706ff033c98441 (patch) | |
tree | d35fea72f97dbaa0ae3d703982910d3a82bfe7ec | |
parent | 173bac5bb31d4718be89f254d18b1e561f993845 (diff) | |
download | FreeBSD-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.c | 6 |
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 / |