Skip to content

Commit d479df2

Browse files
committed
Another bug fix
1 parent 2d23ccc commit d479df2

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/core/codestream/ojph_params.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1655,6 +1655,9 @@ namespace ojph {
16551655
if ((Sqcd & 0x1F) == 0)
16561656
{
16571657
num_subbands = (Lqcd - 3);
1658+
if (num_subbands == 0)
1659+
OJPH_ERROR(0x0005008A, "QCD marker segment that specifies no "
1660+
"quantization informtion");
16581661
if (num_subbands > 97 || Lqcd != 3 + num_subbands)
16591662
OJPH_ERROR(0x00050083, "wrong Lqcd value of %d in QCD marker", Lqcd);
16601663
for (ui32 i = 0; i < num_subbands; ++i)
@@ -1672,6 +1675,9 @@ namespace ojph {
16721675
else if ((Sqcd & 0x1F) == 2)
16731676
{
16741677
num_subbands = (Lqcd - 3) / 2;
1678+
if (num_subbands == 0)
1679+
OJPH_ERROR(0x0005008B, "QCD marker segment that specifies no "
1680+
"quantization informtion");
16751681
if (num_subbands > 97 || Lqcd != 3 + 2 * num_subbands)
16761682
OJPH_ERROR(0x00050086, "wrong Lqcd value of %d in QCD marker", Lqcd);
16771683
for (ui32 i = 0; i < num_subbands; ++i)
@@ -1710,6 +1716,9 @@ namespace ojph {
17101716
if ((Sqcd & 0x1F) == 0)
17111717
{
17121718
num_subbands = (Lqcd - offset);
1719+
if (num_subbands == 0)
1720+
OJPH_ERROR(0x000500AC, "QCC marker segment that specifies no "
1721+
"quantization informtion");
17131722
if (num_subbands > 97 || Lqcd != offset + num_subbands)
17141723
OJPH_ERROR(0x000500A5, "wrong Lqcd value of %d in QCC marker", Lqcd);
17151724
for (ui32 i = 0; i < num_subbands; ++i)
@@ -1727,6 +1736,9 @@ namespace ojph {
17271736
else if ((Sqcd & 0x1F) == 2)
17281737
{
17291738
num_subbands = (Lqcd - offset) / 2;
1739+
if (num_subbands == 0)
1740+
OJPH_ERROR(0x000500AD, "QCC marker segment that specifies no "
1741+
"quantization informtion");
17301742
if (num_subbands > 97 || Lqcd != offset + 2 * num_subbands)
17311743
OJPH_ERROR(0x000500A8, "wrong Lqcc value of %d in QCC marker", Lqcd);
17321744
for (ui32 i = 0; i < num_subbands; ++i)

0 commit comments

Comments
 (0)