From 3f458c6eb114bd46ce7f08b8ca471822ea16d26e Mon Sep 17 00:00:00 2001
From: Pierre-Emmanuel Viel
Date: Fri, 3 Jan 2014 13:16:36 +0100
Subject: [PATCH] Fix: freeing previous elements has to be done before loading
new parameters to avoid trying to delete unexisting objects if arrays size
was modified
---
.../opencv2/flann/hierarchical_clustering_index.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/modules/flann/include/opencv2/flann/hierarchical_clustering_index.h b/modules/flann/include/opencv2/flann/hierarchical_clustering_index.h
index c27b64834e..b511ee9089 100644
--- a/modules/flann/include/opencv2/flann/hierarchical_clustering_index.h
+++ b/modules/flann/include/opencv2/flann/hierarchical_clustering_index.h
@@ -414,12 +414,6 @@ public:
void loadIndex(FILE* stream)
{
- load_value(stream, branching_);
- load_value(stream, trees_);
- load_value(stream, centers_init_);
- load_value(stream, leaf_size_);
- load_value(stream, memoryCounter);
-
free_elements();
if (root!=NULL) {
@@ -430,6 +424,12 @@ public:
delete[] indices;
}
+ load_value(stream, branching_);
+ load_value(stream, trees_);
+ load_value(stream, centers_init_);
+ load_value(stream, leaf_size_);
+ load_value(stream, memoryCounter);
+
indices = new int*[trees_];
root = new NodePtr[trees_];
for (int i=0; i