mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-02-13 02:34:48 +08:00
fix: shifting signed 32-bit value by 31 bits is undefined behaviour
This commit is contained in:
parent
4aeff95259
commit
d9308d912d
4 changed files with 7 additions and 7 deletions
|
@ -317,7 +317,7 @@ void ReadTItag(void) {
|
|||
// expected for either the low or high frequency
|
||||
if ((samples > (sampleslo - threshold)) && (samples < (sampleslo + threshold))) {
|
||||
// low frequency represents a 1
|
||||
shift3 |= (1 << 31);
|
||||
shift3 |= (1u << 31);
|
||||
} else if ((samples > (sampleshi - threshold)) && (samples < (sampleshi + threshold))) {
|
||||
// high frequency represents a 0
|
||||
} else {
|
||||
|
@ -481,7 +481,7 @@ void AcquireTiType(void) {
|
|||
// unpack buffer
|
||||
for (i = TIBUFLEN - 1; i >= 0; i--) {
|
||||
for (j = 0; j < 32; j++) {
|
||||
if (buf[i] & (1 << j)) {
|
||||
if (buf[i] & (1u << j)) {
|
||||
dest[--n] = 1;
|
||||
} else {
|
||||
dest[--n] = -1;
|
||||
|
|
|
@ -1882,7 +1882,7 @@ int CmdT55xxRecoverPW(const char *Cmd) {
|
|||
|
||||
// first try fliping each bit in the expected password
|
||||
while (bit < 32) {
|
||||
curr_password = orig_password ^ (1 << bit);
|
||||
curr_password = orig_password ^ (1u << bit);
|
||||
found = tryOnePassword(curr_password);
|
||||
if (found == -1) return 0;
|
||||
bit++;
|
||||
|
@ -1897,7 +1897,7 @@ int CmdT55xxRecoverPW(const char *Cmd) {
|
|||
// from low bit to high bit
|
||||
bit = 0;
|
||||
while (bit < 32) {
|
||||
mask += (1 << bit);
|
||||
mask += (1u << bit);
|
||||
curr_password = orig_password & mask;
|
||||
// if updated mask didn't change the password, don't try it again
|
||||
if (prev_password == curr_password) {
|
||||
|
@ -1916,7 +1916,7 @@ int CmdT55xxRecoverPW(const char *Cmd) {
|
|||
bit = 0;
|
||||
mask = 0xffffffff;
|
||||
while (bit < 32) {
|
||||
mask -= (1 << bit);
|
||||
mask -= (1u << bit);
|
||||
curr_password = orig_password & mask;
|
||||
// if updated mask didn't change the password, don't try it again
|
||||
if (prev_password == curr_password) {
|
||||
|
|
|
@ -191,7 +191,7 @@ int CmdTIDemod(const char *Cmd) {
|
|||
bits[i] = '1';
|
||||
maxPos += highLen;
|
||||
// bitstream arrives lsb first so shift right
|
||||
shift3 |= (1 << 31);
|
||||
shift3 |= (1u << 31);
|
||||
} else {
|
||||
bits[i] = '.';
|
||||
maxPos += lowLen;
|
||||
|
|
|
@ -375,7 +375,7 @@ typedef struct _AT91S_DBGU {
|
|||
#define AT91C_US_TXBUFE (0x1 << 11) // (DBGU) TXBUFE Interrupt
|
||||
#define AT91C_US_RXBUFF (0x1 << 12) // (DBGU) RXBUFF Interrupt
|
||||
#define AT91C_US_COMM_TX (0x1 << 30) // (DBGU) COMM_TX Interrupt
|
||||
#define AT91C_US_COMM_RX (0x1 << 31) // (DBGU) COMM_RX Interrupt
|
||||
#define AT91C_US_COMM_RX (0x1u << 31) // (DBGU) COMM_RX Interrupt
|
||||
// -------- DBGU_IDR : (DBGU Offset: 0xc) Debug Unit Interrupt Disable Register --------
|
||||
// -------- DBGU_IMR : (DBGU Offset: 0x10) Debug Unit Interrupt Mask Register --------
|
||||
// -------- DBGU_CSR : (DBGU Offset: 0x14) Debug Unit Channel Status Register --------
|
||||
|
|
Loading…
Reference in a new issue