* Bug #14251 fixed - `spec` leaked some memory. 61/17461/2
Clément DAVID [Tue, 17 Nov 2015 09:47:23 +0000 (10:47 +0100)]
Change-Id: If59366cf3ed9c64782d1b87d63fb8798eb28e2cf

scilab/CHANGES_6.0.X
scilab/modules/linear_algebra/sci_gateway/cpp/sci_spec.cpp
scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.dia.ref [new file with mode: 0644]
scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.tst [new file with mode: 0644]

index 02d60ef..1497314 100644 (file)
@@ -15,6 +15,8 @@ For a high-level overview of the changes in this release, please consult the "Wh
 
 * Bug #14257 fixed - English spelling in messages and in comments.
 
+* Bug #14251 fixed - `spec` leaked some memory.
+
 
 
         Changes between version 6.0.0-alpha-1 and 6.0.0-alpha-2
index 93e8070..087100d 100644 (file)
@@ -163,6 +163,7 @@ types::Function::ReturnValue sci_spec(types::typed_list &in, int _iRetCount, typ
                     out.push_back(pDblEigenVectors);
                 }
                 out.push_back(pDblEigenValues);
+                pDblA->killMe();
             }
             else // not symmetric
             {
diff --git a/scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.dia.ref b/scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.dia.ref
new file mode 100644 (file)
index 0000000..8c97a0d
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 14251 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14251
+//
+// <-- Short Description -->
+// spec leaks memory
+for n=1:10
+    a=rand(100,100)+%i*rand(100,100);
+    a=a+a';
+    [V,D]=spec(a);
+end
diff --git a/scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.tst b/scilab/modules/linear_algebra/tests/nonreg_tests/bug_14251.tst
new file mode 100644 (file)
index 0000000..a2dd858
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Clement DAVID
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 14251 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=14251
+//
+// <-- Short Description -->
+// spec leaks memory
+
+for n=1:10
+    a=rand(100,100)+%i*rand(100,100);
+    a=a+a';
+    [V,D]=spec(a);
+end
+