changeset 26196:b8f23ab958e8

surfl.m: Fix input validation for 4x4 input matrices (bug #55180) * surfl.m: Check that any material property input or light source location input is a vector before presuming it to be one of those.
author Rik <rik@octave.org>
date Mon, 10 Dec 2018 16:58:22 -0800
parents a5094f65012c
children 95633ec174cf
files scripts/plot/draw/surfl.m
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/draw/surfl.m	Mon Dec 10 14:38:21 2018 -0800
+++ b/scripts/plot/draw/surfl.m	Mon Dec 10 16:58:22 2018 -0800
@@ -109,7 +109,8 @@
   ##      diffuse reflection strength,
   ##      specular reflection strength,
   ##      specular shine]
-  if (isnumeric (varargin{end}) && length (varargin{end}) == 4)
+  if (isnumeric (varargin{end}) && isvector (varargin{end})
+      && (numel (varargin{end}) == 4))
     r = varargin{end};
     varargin(end) = [];
   else
@@ -119,7 +120,7 @@
 
   ## Check for light vector (lv) argument.
   have_lv = false;
-  if (isnumeric (varargin{end}))
+  if (isnumeric (varargin{end}) && isvector (varargin{end}))
     len = numel (varargin{end});
     lastarg = varargin{end};
     if (len == 3)