* Bug #14159 fixed - Matplot crashed Scilab on boolean input. 37/17237/2
Charlotte HECQUET [Wed, 23 Sep 2015 08:51:50 +0000 (10:51 +0200)]
Change-Id: I734a3f05b4b8f2a42b4f51ff8a8c2c6654097054

scilab/CHANGES_6.0.X
scilab/modules/graphics/sci_gateway/cpp/sci_matplot.cpp
scilab/modules/graphics/tests/nonreg_tests/bug_14159.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/nonreg_tests/bug_14159.tst [new file with mode: 0644]

index e098641..58b1690 100644 (file)
@@ -91,6 +91,8 @@ Scilab Bug Fixes
 
 * Bug #14156 fixed - mfscanf returned an empty matrix when datafile contained a header.
 
+* Bug #14159 fixed - Matplot crashed Scilab on boolean input.
+
 
             Changes between version 5.5.2 and 6.0.0-alpha-1 of Scilab
             =========================================================
index 131f4cc..19964ef 100644 (file)
@@ -211,6 +211,11 @@ types::Function::ReturnValue sci_matplot(types::typed_list &in, types::optional_
         n1 = pIn->getCols();
         plottype = buildMatplotType(MATPLOT_UInt, MATPLOT_FORTRAN, MATPLOT_RGBA);
     }
+    else
+    {
+        Scierror(999, _("%s: Wrong type for input argument #%d: A real or integer expected.\n"), "Matplot", 1);
+        return types::Function::Error;
+    }
 
     if (in.size() > 1)
     {
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14159.dia.ref b/scilab/modules/graphics/tests/nonreg_tests/bug_14159.dia.ref
new file mode 100644 (file)
index 0000000..f6ec008
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- CLI SHELL MODE -->
+// <-- Non-regression test for bug 14159 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14159
+//
+// <-- Short Description -->
+// Matplot crashes Scilab on boolean input
+errmsg = msprintf(_("%s: Wrong type for input argument #%d: A real or integer expected.\n"), "Matplot", 1);
+assert_checkerror("Matplot(%f)", errmsg);
+assert_checkerror: Assertion failed: expected error message = "Matplot : Type erroné de l'argument d'entrée n°1 : Un réel ou un entier attendu." while computed error message = "Variable non définie : Matplot".
+at line   126 of function assert_checkerror ( SCI/modules/development_tools/macros/assert/assert_checkerror.sci line 135 )
+at line    32 of executed file TMPDIR/bug_14159.tst
diff --git a/scilab/modules/graphics/tests/nonreg_tests/bug_14159.tst b/scilab/modules/graphics/tests/nonreg_tests/bug_14159.tst
new file mode 100644 (file)
index 0000000..a096b36
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Charlotte HECQUET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 14159 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/14159
+//
+// <-- Short Description -->
+// Matplot crashes Scilab on boolean input
+
+errmsg = msprintf(_("%s: Wrong type for input argument #%d: A real or integer expected.\n"), "Matplot", 1);
+assert_checkerror("Matplot(%f)", errmsg);