fixed CvRTrees::read in case nactive_vars==var_count (thanks to Malcolm Reynolds)
authorMaria Dimashova <no@email>
Thu, 10 Nov 2011 13:40:11 +0000 (13:40 +0000)
committerMaria Dimashova <no@email>
Thu, 10 Nov 2011 13:40:11 +0000 (13:40 +0000)
modules/ml/src/rtrees.cpp

index a1a13b0..94f7c40 100644 (file)
@@ -813,11 +813,16 @@ void CvRTrees::read( CvFileStorage* fs, CvFileNode* fnode )
     active_var_mask = cvCreateMat( 1, var_count, CV_8UC1 );
     {
         // initialize active variables mask
-        CvMat submask1, submask2;
-        cvGetCols( active_var_mask, &submask1, 0, nactive_vars );
-        cvGetCols( active_var_mask, &submask2, nactive_vars, var_count );
+        CvMat submask1;
+               cvGetCols( active_var_mask, &submask1, 0, nactive_vars );
         cvSet( &submask1, cvScalar(1) );
-        cvZero( &submask2 );
+
+               if( nactive_vars < var_count )
+               {
+                       CvMat submask2;
+                       cvGetCols( active_var_mask, &submask2, nactive_vars, var_count );
+                       cvZero( &submask2 );
+               }
     }
 }