diff options
author | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2014-02-28 09:35:34 +0000 |
---|---|---|
committer | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2014-02-28 09:35:34 +0000 |
commit | 0dab805d2310b7afaad268c6e180263399da3e9a (patch) | |
tree | 5e92f769f73d819ca48f84b21bedb8c728e70b75 /turbojpeg.c | |
parent | 407b3bd521d547c24fa3ae42891299bbcfb69a32 (diff) |
Fix unitialized value reported by valgrind (the upsampling routine used by 4:4:0 and 4:1:1 reads the value of component_index.)
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1133 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'turbojpeg.c')
-rw-r--r-- | turbojpeg.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/turbojpeg.c b/turbojpeg.c index ee412c1..0f0d110 100644 --- a/turbojpeg.c +++ b/turbojpeg.c @@ -1235,6 +1235,8 @@ DLLEXPORT int DLLCALL tjDecompress(tjhandle handle, unsigned char *jpegBuf, static int setDecodeDefaults(struct jpeg_decompress_struct *dinfo, int pixelFormat, int subsamp, int flags) { + int i; + dinfo->scale_num=dinfo->scale_denom=1; 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].v_samp_factor=tjMCUHeight[subsamp]/8; + dinfo->comp_info[0].component_index=0; dinfo->cur_comp_info[0]=&dinfo->comp_info[0]; - if(dinfo->num_components==3) - { - dinfo->comp_info[1].h_samp_factor=1; - dinfo->comp_info[1].v_samp_factor=1; - dinfo->cur_comp_info[1]=&dinfo->comp_info[1]; - dinfo->comp_info[2].h_samp_factor=1; - dinfo->comp_info[2].v_samp_factor=1; - dinfo->cur_comp_info[2]=&dinfo->comp_info[2]; + for(i=1; i<dinfo->num_components; i++) + { + dinfo->comp_info[i].h_samp_factor=1; + dinfo->comp_info[i].v_samp_factor=1; + dinfo->comp_info[i].component_index=i; + dinfo->cur_comp_info[i]=&dinfo->comp_info[i]; } return 0; |