summaryrefslogtreecommitdiff
path: root/src/lib/openjp2/j2k.c
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2014-10-15 10:14:54 +0000
committerAntonin Descampe <antonin@gmail.com>2014-10-15 10:14:54 +0000
commitf8796711e8d8e004d8b73929f0ff87c83abf0c76 (patch)
tree47350b47b659d82794b4c9cff1d7d6a8b67ba556 /src/lib/openjp2/j2k.c
parent0b540067b18a75af6a1640b2ffb8ceb5f08be6d2 (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.c5
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;