fixed crash in cvDrawContours when abs(maxLevel) is too big

pull/13383/head
Vadim Pisarevsky 15 years ago
parent 11ed55ddb4
commit 9948ed88b0
  1. 4
      modules/core/src/drawing.cpp

@ -2033,12 +2033,14 @@ cvDrawContours( void* _img, CvSeq* contour,
scalarToRawData( externalColor, ext_buf, img.type(), 0 );
scalarToRawData( holeColor, hole_buf, img.type(), 0 );
maxLevel = MAX(maxLevel, INT_MIN-2);
maxLevel = MIN(maxLevel, INT_MAX-1);
if( maxLevel < 0 )
{
h_next = contour->h_next;
contour->h_next = 0;
maxLevel = -maxLevel+1;
maxLevel -= maxLevel < 0;
}
cvInitTreeNodeIterator( &iterator, contour, maxLevel );

Loading…
Cancel
Save