csn1: verify enough bits present to decode whole CSN_UINT_ARRAY
Change-Id: I4a762a8fec4153b53e10df1ec8ba3708c1f47649
diff --git a/src/csn1.c b/src/csn1.c
index 1b3cc55..78444bb 100644
--- a/src/csn1.c
+++ b/src/csn1.c
@@ -338,7 +338,7 @@
nCount = *pui16DATA(data, nCount);
}
- if (remaining_bits_len >= no_of_bits)
+ if (remaining_bits_len >= (no_of_bits * nCount))
{
remaining_bits_len -= (no_of_bits*nCount);
if (no_of_bits <= 8)
@@ -781,7 +781,7 @@
nCount = *pui16DATA(data, nCount);
}
- if (remaining_bits_len >= no_of_bits)
+ if (remaining_bits_len >= (no_of_bits * nCount))
{
remaining_bits_len -= (no_of_bits * nCount);
if (no_of_bits <= 8)
@@ -1650,7 +1650,7 @@
nCount = *pui16DATA(data, nCount);
}
- if (remaining_bits_len >= no_of_bits)
+ if (remaining_bits_len >= (no_of_bits * nCount))
{
if (no_of_bits <= 8)
{
@@ -2067,7 +2067,7 @@
nCount = *pui16DATA(data, nCount);
}
- if (remaining_bits_len >= no_of_bits)
+ if (remaining_bits_len >= (no_of_bits * nCount))
{
if (no_of_bits <= 8)
{