diff options
| author | Antonin Descampe <antonin@gmail.com> | 2014-10-15 10:14:54 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2014-10-15 10:14:54 +0000 |
| commit | f8796711e8d8e004d8b73929f0ff87c83abf0c76 (patch) | |
| tree | 47350b47b659d82794b4c9cff1d7d6a8b67ba556 /src/lib/openjp2/j2k.c | |
| parent | 0b540067b18a75af6a1640b2ffb8ceb5f08be6d2 (diff) | |
[trunk] add a check on progression order (fixes issue 413)
Diffstat (limited to 'src/lib/openjp2/j2k.c')
| -rw-r--r-- | src/lib/openjp2/j2k.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c index 4324c733..af8d5316 100644 --- a/src/lib/openjp2/j2k.c +++ b/src/lib/openjp2/j2k.c @@ -2423,6 +2423,11 @@ static OPJ_BOOL opj_j2k_read_cod ( opj_j2k_t *p_j2k, opj_read_bytes(p_header_data,&l_tmp,1); /* SGcod (A) */ ++p_header_data; l_tcp->prg = (OPJ_PROG_ORDER) l_tmp; + /* Make sure progression order is valid */ + if (l_tcp->prg > OPJ_CPRL ) { + opj_event_msg(p_manager, EVT_ERROR, "Unknown progression order in COD marker\n"); + l_tcp->prg = OPJ_PROG_UNKNOWN; + } opj_read_bytes(p_header_data,&l_tcp->numlayers,2); /* SGcod (B) */ p_header_data+=2; |
