1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 15:23:05 +04:00

Fixed several issues found by static analysis

This commit is contained in:
Maksim Shabunin
2017-06-28 16:26:55 +03:00
parent bbb14d3746
commit a769d69a9d
35 changed files with 113 additions and 66 deletions
+12 -8
View File
@@ -525,7 +525,7 @@ icvFetchContour( schar *ptr,
int prev_s = -1, s, s_end;
int method = _method - 1;
assert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
CV_DbgAssert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
/* initialize local state */
CV_INIT_3X3_DELTAS( deltas, step, 1 );
@@ -557,6 +557,7 @@ icvFetchContour( schar *ptr,
else
{
i3 = i0;
CV_Assert(i3 != NULL);
prev_s = s ^ 4;
/* follow border */
@@ -568,6 +569,7 @@ icvFetchContour( schar *ptr,
while( s < MAX_SIZE - 1 )
{
i4 = i3 + deltas[++s];
CV_Assert(i4 != NULL);
if( *i4 != 0 )
break;
}
@@ -615,7 +617,7 @@ icvFetchContour( schar *ptr,
if( _method != CV_CHAIN_CODE )
cvBoundingRect( contour, 1 );
assert( (writer.seq->total == 0 && writer.seq->first == 0) ||
CV_DbgAssert( (writer.seq->total == 0 && writer.seq->first == 0) ||
writer.seq->total > writer.seq->first->count ||
(writer.seq->first->prev == writer.seq->first &&
writer.seq->first->next == writer.seq->first) );
@@ -638,7 +640,7 @@ icvTraceContour( schar *ptr, int step, schar *stop_ptr, int is_hole )
CV_INIT_3X3_DELTAS( deltas, step, 1 );
memcpy( deltas + 8, deltas, 8 * sizeof( deltas[0] ));
assert( (*i0 & -2) != 0 );
CV_DbgAssert( (*i0 & -2) != 0 );
s_end = s = is_hole ? 0 : 4;
@@ -650,6 +652,7 @@ icvTraceContour( schar *ptr, int step, schar *stop_ptr, int is_hole )
while( *i1 == 0 && s != s_end );
i3 = i0;
CV_Assert(i3 != NULL);
/* check single pixel domain */
if( s != s_end )
@@ -662,6 +665,7 @@ icvTraceContour( schar *ptr, int step, schar *stop_ptr, int is_hole )
while( s < MAX_SIZE - 1 )
{
i4 = i3 + deltas[++s];
CV_Assert(i4 != NULL);
if( *i4 != 0 )
break;
}
@@ -693,8 +697,8 @@ icvFetchContourEx( schar* ptr,
int prev_s = -1, s, s_end;
int method = _method - 1;
assert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
assert( 1 < nbd && nbd < 128 );
CV_DbgAssert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
CV_DbgAssert( 1 < nbd && nbd < 128 );
/* initialize local state */
CV_INIT_3X3_DELTAS( deltas, step, 1 );
@@ -799,7 +803,7 @@ icvFetchContourEx( schar* ptr,
if( _method != CV_CHAIN_CODE )
((CvContour*)contour)->rect = rect;
assert( (writer.seq->total == 0 && writer.seq->first == 0) ||
CV_DbgAssert( (writer.seq->total == 0 && writer.seq->first == 0) ||
writer.seq->total > writer.seq->first->count ||
(writer.seq->first->prev == writer.seq->first &&
writer.seq->first->next == writer.seq->first) );
@@ -882,7 +886,7 @@ icvFetchContourEx_32s( int* ptr,
const int nbd0 = ccomp_val | new_flag;
const int nbd1 = nbd0 | right_flag;
assert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
CV_DbgAssert( (unsigned) _method <= CV_CHAIN_APPROX_SIMPLE );
/* initialize local state */
CV_INIT_3X3_DELTAS( deltas, step, 1 );
@@ -984,7 +988,7 @@ icvFetchContourEx_32s( int* ptr,
if( _method != CV_CHAIN_CODE )
((CvContour*)contour)->rect = rect;
assert( (writer.seq->total == 0 && writer.seq->first == 0) ||
CV_DbgAssert( (writer.seq->total == 0 && writer.seq->first == 0) ||
writer.seq->total > writer.seq->first->count ||
(writer.seq->first->prev == writer.seq->first &&
writer.seq->first->next == writer.seq->first) );