Fixed "Conditional jump or move depends on uninitialised value(s)" valgrind issue due to wrong pointer recalculation for zero level of pyramid.

This commit is contained in:
Vitaly Tuzov 2016-01-20 19:20:36 +03:00
parent f2e4bec925
commit f01f1bc5e6

View File

@ -130,8 +130,8 @@ static void icvMaxRoi1( _CvRect16u *max_rect, int x, int y );
(float)fabs((a).green - (b).green), \
(float)fabs((a).blue - (b).blue))*/
#define _CV_NEXT_BASE_C1(p,n) (_CvPyramid*)((char*)(p) + (n)*sizeof(_CvPyramidBase))
#define _CV_NEXT_BASE_C3(p,n) (_CvPyramidC3*)((char*)(p) + (n)*sizeof(_CvPyramidBaseC3))
#define _CV_NEXT_BASE_C1(p,n) ((_CvPyramid*)((char*)(p) + (n)*(ptrdiff_t)sizeof(_CvPyramidBase)))
#define _CV_NEXT_BASE_C3(p,n) ((_CvPyramidC3*)((char*)(p) + (n)*(ptrdiff_t)sizeof(_CvPyramidBaseC3)))
CV_INLINE float icvRGBDist_Max( const _CvRGBf& a, const _CvRGBf& b )
@ -868,7 +868,7 @@ icvPyrSegmentation8uC3R( uchar * src_image, int src_step,
if( p_cur[size.width].a == 0 )
{
p_cur[size.width].c = p_prev[(l != 0) - 1].c;
p_cur[size.width].c = (l != 0) ? p_prev->c : _CV_NEXT_BASE_C3( p_prev, -1 )->c;
}
else
{