From 447b8bf58a51d13e2dce6461b7933b6b117523d6 Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Fri, 7 Aug 2015 19:29:52 +0300 Subject: [PATCH] Fixing possible corruption for big training data sizes --- modules/ml/src/inner_functions.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ml/src/inner_functions.cpp b/modules/ml/src/inner_functions.cpp index f0e085da6c..c9e951cd45 100644 --- a/modules/ml/src/inner_functions.cpp +++ b/modules/ml/src/inner_functions.cpp @@ -777,7 +777,8 @@ cvGetTrainSamples( const CvMat* train_data, int tflag, __BEGIN__; - int i, j, var_count, sample_count, s_step, v_step; + int i, j, var_count, sample_count; + size_t s_step, v_step, s; bool copy_data; const float* data; const int *s_idx, *v_idx; @@ -815,7 +816,7 @@ cvGetTrainSamples( const CvMat* train_data, int tflag, { samples[0] = (float*)(samples + sample_count); if( tflag != CV_ROW_SAMPLE ) - CV_SWAP( s_step, v_step, i ); + CV_SWAP( s_step, v_step, s ); for( i = 0; i < sample_count; i++ ) {