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:
iceman1001 2016-09-01 20:34:56 +02:00
parent ab1112796e
commit 5735cfa58e

View file

@ -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
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;
for (int idx = 0; idx < *size - pLen; idx++){
if (memcmp(BitStream+idx, preamble, pLen) == 0){