diff options
| author | Antonin Descampe <antonin@gmail.com> | 2014-10-21 12:27:58 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2014-10-21 12:27:58 +0000 |
| commit | 413de4fbfa866d563e1c6de1073d99da3cc13cb9 (patch) | |
| tree | a5058f3a62007e48c2a4525bb8ba2cc3301e64ca /src | |
| parent | 984351f86f825b2679af5dc70a2c5d0e07ff3059 (diff) | |
[trunk] add a check on Zppm value in PPM markers (fixes issue 393)
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/openjp2/j2k.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c index af8d5316..6acd3ec5 100644 --- a/src/lib/openjp2/j2k.c +++ b/src/lib/openjp2/j2k.c @@ -3554,6 +3554,14 @@ OPJ_BOOL j2k_read_ppm_v3 ( /* First PPM marker */ if (l_Z_ppm == 0) { + if (l_cp->ppm_data != NULL) { + opj_event_msg(p_manager, EVT_ERROR, "Zppm O already processed. Found twice.\n"); + opj_free(l_cp->ppm_data); + l_cp->ppm_data = NULL; + l_cp->ppm_buffer = NULL; + l_cp->ppm = 0; /* do not use PPM */ + return OPJ_FALSE; + } /* We need now at least the Nppm^0 element */ if (p_header_size < 4) { opj_event_msg(p_manager, EVT_ERROR, "Error reading PPM marker\n"); |
