Fix unitialized value reported by valgrind (the upsampling routine used by 4:4:0 and 4:1:1 reads the value of component_index.)
This commit is contained in:
15
turbojpeg.c
15
turbojpeg.c
@@ -1235,6 +1235,8 @@ DLLEXPORT int DLLCALL tjDecompress(tjhandle handle, unsigned char *jpegBuf,
|
|||||||
static int setDecodeDefaults(struct jpeg_decompress_struct *dinfo,
|
static int setDecodeDefaults(struct jpeg_decompress_struct *dinfo,
|
||||||
int pixelFormat, int subsamp, int flags)
|
int pixelFormat, int subsamp, int flags)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
dinfo->scale_num=dinfo->scale_denom=1;
|
dinfo->scale_num=dinfo->scale_denom=1;
|
||||||
|
|
||||||
if(subsamp==TJSAMP_GRAY)
|
if(subsamp==TJSAMP_GRAY)
|
||||||
@@ -1254,15 +1256,14 @@ static int setDecodeDefaults(struct jpeg_decompress_struct *dinfo,
|
|||||||
|
|
||||||
dinfo->comp_info[0].h_samp_factor=tjMCUWidth[subsamp]/8;
|
dinfo->comp_info[0].h_samp_factor=tjMCUWidth[subsamp]/8;
|
||||||
dinfo->comp_info[0].v_samp_factor=tjMCUHeight[subsamp]/8;
|
dinfo->comp_info[0].v_samp_factor=tjMCUHeight[subsamp]/8;
|
||||||
|
dinfo->comp_info[0].component_index=0;
|
||||||
dinfo->cur_comp_info[0]=&dinfo->comp_info[0];
|
dinfo->cur_comp_info[0]=&dinfo->comp_info[0];
|
||||||
if(dinfo->num_components==3)
|
for(i=1; i<dinfo->num_components; i++)
|
||||||
{
|
{
|
||||||
dinfo->comp_info[1].h_samp_factor=1;
|
dinfo->comp_info[i].h_samp_factor=1;
|
||||||
dinfo->comp_info[1].v_samp_factor=1;
|
dinfo->comp_info[i].v_samp_factor=1;
|
||||||
dinfo->cur_comp_info[1]=&dinfo->comp_info[1];
|
dinfo->comp_info[i].component_index=i;
|
||||||
dinfo->comp_info[2].h_samp_factor=1;
|
dinfo->cur_comp_info[i]=&dinfo->comp_info[i];
|
||||||
dinfo->comp_info[2].v_samp_factor=1;
|
|
||||||
dinfo->cur_comp_info[2]=&dinfo->comp_info[2];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user