fixed segfault with 123.j2c and bug.j2c images (thanks to Tim Mattox for his contribution to this patch)

This commit is contained in:
Mickael Savinaud 2011-08-10 09:00:34 +00:00
parent 9e419fdaf7
commit 6fb9794200
2 changed files with 18 additions and 12 deletions

View File

@ -9,6 +9,7 @@ August 10, 2011
! [mickael] removed unused parameters warnings with the solution proposed by myself and Bob Friesenhahn. ! [mickael] removed unused parameters warnings with the solution proposed by myself and Bob Friesenhahn.
! [mickael] add copyright header into new test functions. ! [mickael] add copyright header into new test functions.
* [mickael] fixed glibc error with broken2 and broken4 images. * [mickael] fixed glibc error with broken2 and broken4 images.
* [mickael] fixed segfault with 123.j2c and bug.j2c images (thanks to Tim Mattox for his improvement).
August 9, 2011 August 9, 2011
- [antonin] removed xcode project files (cmake and autotools are now the only supported build methods) - [antonin] removed xcode project files (cmake and autotools are now the only supported build methods)

View File

@ -1418,6 +1418,8 @@ opj_bool tcd_decode_tile(opj_tcd_t *tcd, unsigned char *src, int len, int tileno
if (tcd->tcp->mct) { if (tcd->tcp->mct) {
int n = (tile->comps[0].x1 - tile->comps[0].x0) * (tile->comps[0].y1 - tile->comps[0].y0); int n = (tile->comps[0].x1 - tile->comps[0].x0) * (tile->comps[0].y1 - tile->comps[0].y0);
if (tile->numcomps >= 3 ){
if (tcd->tcp->tccps[0].qmfbid == 1) { if (tcd->tcp->tccps[0].qmfbid == 1) {
mct_decode( mct_decode(
tile->comps[0].data, tile->comps[0].data,
@ -1431,6 +1433,9 @@ opj_bool tcd_decode_tile(opj_tcd_t *tcd, unsigned char *src, int len, int tileno
(float*)tile->comps[2].data, (float*)tile->comps[2].data,
n); n);
} }
} else{
opj_event_msg(tcd->cinfo, EVT_WARNING,"Number of components (%d) is inconsistent with a MCT. Skip the MCT step.\n",tile->numcomps);
}
} }
/*---------------TILE-------------------*/ /*---------------TILE-------------------*/