fixed problem reported by Thouis (Ray) Jones
authorVadim Pisarevsky <vadim.pisarevsky@gmail.com>
Mon, 18 Feb 2013 13:01:21 +0000 (17:01 +0400)
committerVadim Pisarevsky <vadim.pisarevsky@gmail.com>
Mon, 18 Feb 2013 13:01:21 +0000 (17:01 +0400)
modules/core/src/matrix.cpp

index f21e6ac..6c265f6 100644 (file)
@@ -3496,7 +3496,7 @@ enum { HASH_SIZE0 = 8 };
 static inline void copyElem(const uchar* from, uchar* to, size_t elemSize)
 {
     size_t i;
-    for( i = 0; (int)i <= (int)(elemSize - sizeof(int)); i += sizeof(int) )
+    for( i = 0; i + sizeof(int) <= elemSize; i += sizeof(int) )
         *(int*)(to + i) = *(const int*)(from + i);
     for( ; i < elemSize; i++ )
         to[i] = from[i];
@@ -3505,7 +3505,7 @@ static inline void copyElem(const uchar* from, uchar* to, size_t elemSize)
 static inline bool isZeroElem(const uchar* data, size_t elemSize)
 {
     size_t i;
-    for( i = 0; i <= elemSize - sizeof(int); i += sizeof(int) )
+    for( i = 0; i + sizeof(int) <= elemSize; i += sizeof(int) )
         if( *(int*)(data + i) != 0 )
             return false;
     for( ; i < elemSize; i++ )