mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-01-08 09:10:06 +08:00
FIX: added a sanity check in preamble search to make sure it doesn't look out-of-bounds in the memcmp call
This commit is contained in:
parent
ab1112796e
commit
5735cfa58e
1 changed files with 3 additions and 0 deletions
|
@ -148,6 +148,9 @@ uint32_t bytebits_to_byteLSBF(uint8_t *src, size_t numbits)
|
||||||
//search for given preamble in given BitStream and return success=1 or fail=0 and startIndex and length
|
//search for given preamble in given BitStream and return success=1 or fail=0 and startIndex and length
|
||||||
uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx)
|
uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx)
|
||||||
{
|
{
|
||||||
|
// Sanity check. If preamble length is bigger than bitstream length.
|
||||||
|
if ( *size <= pLen ) return 0;
|
||||||
|
|
||||||
uint8_t foundCnt = 0;
|
uint8_t foundCnt = 0;
|
||||||
for (int idx = 0; idx < *size - pLen; idx++){
|
for (int idx = 0; idx < *size - pLen; idx++){
|
||||||
if (memcmp(BitStream+idx, preamble, pLen) == 0){
|
if (memcmp(BitStream+idx, preamble, pLen) == 0){
|
||||||
|
|
Loading…
Reference in a new issue