opj_j2k_is_imf_compliant: Fix out of bounds access.
Previously when mainlevel was parsed == 12 openjpeg would generate a warning, but then the sublevel value would be compared to an out of bounds element in the tabMaxSubLevelFromMainLevel array. From this commit OpenJPEG will only use mainlevel if in range.
This commit is contained in:
parent
00beb20953
commit
e0993d072a
|
@ -7101,7 +7101,8 @@ static OPJ_BOOL opj_j2k_is_imf_compliant(opj_cparameters_t *parameters,
|
||||||
mainlevel);
|
mainlevel);
|
||||||
ret = OPJ_FALSE;
|
ret = OPJ_FALSE;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
/* Validate sublevel */
|
/* Validate sublevel */
|
||||||
assert(sizeof(tabMaxSubLevelFromMainLevel) ==
|
assert(sizeof(tabMaxSubLevelFromMainLevel) ==
|
||||||
(OPJ_IMF_MAINLEVEL_MAX + 1) * sizeof(tabMaxSubLevelFromMainLevel[0]));
|
(OPJ_IMF_MAINLEVEL_MAX + 1) * sizeof(tabMaxSubLevelFromMainLevel[0]));
|
||||||
|
@ -7115,6 +7116,7 @@ static OPJ_BOOL opj_j2k_is_imf_compliant(opj_cparameters_t *parameters,
|
||||||
sublevel);
|
sublevel);
|
||||||
ret = OPJ_FALSE;
|
ret = OPJ_FALSE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Number of components */
|
/* Number of components */
|
||||||
if (image->numcomps > 3) {
|
if (image->numcomps > 3) {
|
||||||
|
|
Loading…
Reference in New Issue