* Bug #13289 fixed - Using non-integer indexes for mlists made Scilab crash. 08/16608/1
Vincent COUVERT [Mon, 8 Jun 2015 10:12:47 +0000 (12:12 +0200)]
Change-Id: I35f68d39a080240cc0dbcff5abca2d8e68b52564

scilab/CHANGES_6.0.X
scilab/modules/data_structures/tests/nonreg_tests/bug_13289.dia.ref [new file with mode: 0644]
scilab/modules/data_structures/tests/nonreg_tests/bug_13289.tst [new file with mode: 0644]

index fee87b9..abe845b 100644 (file)
@@ -74,6 +74,8 @@ Scilab Bug Fixes
 
 * Bug #12202 fixed - Mixing int8 and doubles with colon operator lead to wrong results.
 
+* Bug #13289 fixed - Using non-integer indexes for mlists made Scilab crash.
+
 * Bug #13517 fixed - isdef crashed Scilab when called with a vector of strings
                      as input in a function and after a declaration of variable.
 
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_13289.dia.ref b/scilab/modules/data_structures/tests/nonreg_tests/bug_13289.dia.ref
new file mode 100644 (file)
index 0000000..276a467
--- /dev/null
@@ -0,0 +1,20 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 13289 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13289
+//
+// <-- Short Description -->
+// l=mlist(["A" "a"],1);l(rand(2,1))=0 lead to a segfault
+l = mlist(["A" "a"], 1);
+assert_checkerror("l(rand(2,1)) = 0;", msprintf(_("Undefined operation for the given operands.\n") + "%s", msprintf(_("check or define function %s for overloading.\n"), "%s_i_A")));
+assert_checkerror: No error was produced while evaluating "l(rand(2,1)) = 0;".
+at line    93 of function assert_checkerror called by :
+assert_checkerror("l(rand(2,1)) = 0;", msprintf((_("Undefined operation for the given operands.\n") + "%s"), msprintf(_("check or define function %s for overloading.\n"), "%s_i_A")))
+at line    32 of exec file called by :
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_13289.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_13289.tst
new file mode 100644 (file)
index 0000000..727a59d
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 13289 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/13289
+//
+// <-- Short Description -->
+// l=mlist(["A" "a"],1);l(rand(2,1))=0 lead to a segfault
+
+l = mlist(["A" "a"], 1);
+assert_checkerror("l(rand(2,1)) = 0;", msprintf(_("Undefined operation for the given operands.\n") + "%s", msprintf(_("check or define function %s for overloading.\n"), "%s_i_A")));
\ No newline at end of file