* Bug 11251 (+NR test): execstr could kill the variables stack 13/19513/3
Samuel GOUGEON [Wed, 25 Oct 2017 20:56:02 +0000 (22:56 +0200)]
  http://bugzilla.scilab.org/11251

Change-Id: I0193c4b6f9bff44594b3321885bc5362606e8f05

scilab/CHANGES.md
scilab/modules/functions/tests/nonreg_tests/bug_11251.tst [new file with mode: 0644]

index cd6011b..3659c5c 100644 (file)
@@ -387,6 +387,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#9838](http://bugzilla.scilab.org/show_bug.cgi?id=9838): `evstr` poorly supported simple comments in input expressions.
 * [#10270](http://bugzilla.scilab.org/show_bug.cgi?id=10270): `execstr(["%val=[int16(1)";"]"])` needed entering twice <enter> to be actually performed.
 * [#11196](http://bugzilla.scilab.org/show_bug.cgi?id=11196): Some recursive extractions from a mlist failed.
+* [#11251](http://bugzilla.scilab.org/show_bug.cgi?id=11251): `execstr` could kill the variables stack.
 * [#11530](http://bugzilla.scilab.org/show_bug.cgi?id=11530): Raise (help, scinotes, ...) windows when iconified ( recall or startup )
 * [#11756](http://bugzilla.scilab.org/show_bug.cgi?id=11756): In the categories of the ATOMS GUI, actually available modules might be not listed.
 * [#11767](http://bugzilla.scilab.org/show_bug.cgi?id=11767): `execstr("A. 1","errcatch")` failed to catch the error.
diff --git a/scilab/modules/functions/tests/nonreg_tests/bug_11251.tst b/scilab/modules/functions/tests/nonreg_tests/bug_11251.tst
new file mode 100644 (file)
index 0000000..6665cb2
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2017 - Samuel GOUGEON
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+// <-- NO CHECK REF -->
+// <-- ENGLISH IMPOSED -->
+//
+// <-- Non-regression test for bug 11251 -->
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/11251
+//
+// <-- Short Description -->
+// execstr() could kill the stack
+
+A = [];
+errmsg = "Incompatible assignation: trying to assign 1 values in 2 variables.";
+assert_checkerror("execstr(""[A($+1),B] = 1;"")", errmsg);
+"[A($+1),B] = 1;"
+assert_checkerror("[A($+1),B] = 1;", errmsg);
+clear