From 3d4982ddbfebc7eca00daf644ac6dee937488d61 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 14 Feb 2016 11:42:34 -0500 Subject: [PATCH] =?utf8?q?FIX:=20Coverity,=20unintended=20sign=20extention?= =?utf8?q?,=20CID=20#121363,=20(numbits=20<<=2016=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit …) becomes int, then uint64_t. But the signness might set all upper bits to 1 in the process. from @iceman1001 . --- client/cmdhf14a.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 330fbec0..b369d187 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -731,7 +731,7 @@ int CmdHF14ACmdRaw(const char *cmd) { // Max buffer is USB_CMD_DATA_SIZE datalen = (datalen > USB_CMD_DATA_SIZE) ? USB_CMD_DATA_SIZE : datalen; - c.arg[1] = (datalen & 0xFFFF) | (numbits << 16); + c.arg[1] = (datalen & 0xFFFF) | ( (uint32_t)(numbits) << 16); memcpy(c.d.asBytes,data,datalen); SendCommand(&c); -- 2.39.2