[Wavelet-commit] Wavelet Image.cc, 1.32, 1.33 ImageArray.cc, 1.8, 1.9 JpgReader.cc, 1.6, 1.7
Status: Beta
Brought to you by:
herbert
From: Herbert M. D. <he...@us...> - 2009-05-29 10:25:22
|
Update of /cvsroot/wavelet/Wavelet In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv16941 Modified Files: Image.cc ImageArray.cc JpgReader.cc Log Message: fixed out-of-bounds access in new fill function for resize Image::OuterBorderFill::doit() Index: JpgReader.cc =================================================================== RCS file: /cvsroot/wavelet/Wavelet/JpgReader.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** JpgReader.cc 23 Feb 2009 17:26:41 -0000 1.6 --- JpgReader.cc 29 May 2009 10:25:13 -0000 1.7 *************** *** 80,83 **** --- 80,84 ---- xysize = xsize * ysize; + std::cout << "jpg size: " << ysize << " / " << xsize << std::endl; for (int i = 0; i < m_channels; i++) { Index: Image.cc =================================================================== RCS file: /cvsroot/wavelet/Wavelet/Image.cc,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** Image.cc 28 May 2009 12:21:30 -0000 1.32 --- Image.cc 29 May 2009 10:25:13 -0000 1.33 *************** *** 881,884 **** --- 881,888 ---- { row = (int)((double)y / factor + 0.5); + if (row >= m_image.rows ()) + { + row = m_image.rows () - 1; + } } if (x < xOffset) *************** *** 893,897 **** --- 897,907 ---- { col = (int)((double)x / factor + 0.5); + if (col >= m_image.cols ()) + { + row = m_image.rows () - 1; + } } + assert (row < m_image.rows ()); + assert (col < m_image.cols ()); return m_image.at (row, col); } Index: ImageArray.cc =================================================================== RCS file: /cvsroot/wavelet/Wavelet/ImageArray.cc,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ImageArray.cc 17 Apr 2008 07:27:34 -0000 1.8 --- ImageArray.cc 29 May 2009 10:25:13 -0000 1.9 *************** *** 180,189 **** if (!tools_epsilons (ia.at (row, col), this->at (row, col), epsilon)) { ! std::cout << "at " << row << " / " << col << ": " << "this: " << this->at (row, col) << ", that: " << ia.at (row, col) << ", diff: " << this->at (row, col) - ia.at (row, col) ! << std::endl; return false; } --- 180,189 ---- if (!tools_epsilons (ia.at (row, col), this->at (row, col), epsilon)) { ! /*std::cout << "at " << row << " / " << col << ": " << "this: " << this->at (row, col) << ", that: " << ia.at (row, col) << ", diff: " << this->at (row, col) - ia.at (row, col) ! << std::endl;*/ return false; } |