comparison scripts/plot/contourc.m @ 10634:60542efcfa2c

Check input arguments for size and type (bug #29861). Prevents segmentation fault with odd inputs.
author Rik <octave@nomad.inbox5.com>
date Sun, 16 May 2010 18:28:59 -0700
parents 09da0bd91412
children be55736a0783
comparison
equal deleted inserted replaced
10633:d022061c288d 10634:60542efcfa2c
62 function [cout, lev] = contourc (varargin) 62 function [cout, lev] = contourc (varargin)
63 63
64 if (nargin == 1) 64 if (nargin == 1)
65 vn = 10; 65 vn = 10;
66 z = varargin{1}; 66 z = varargin{1};
67 [nr, nc] = size (z);
68 x = 1:nc;
69 y = 1:nr;
70 elseif (nargin == 2) 67 elseif (nargin == 2)
71 vn = varargin{2}; 68 vn = varargin{2};
72 z = varargin{1}; 69 z = varargin{1};
73 [nr, nc] = size (z); 70 [nr, nc] = size (z);
74 x = 1:nc; 71 x = 1:nc;
83 x = varargin{1}; 80 x = varargin{1};
84 y = varargin{2}; 81 y = varargin{2};
85 z = varargin{3}; 82 z = varargin{3};
86 else 83 else
87 print_usage (); 84 print_usage ();
85 endif
86
87 if (!ismatrix (z) || isvector (z) || isscalar (z))
88 error ("contourc: z argument must be a matrix");
88 endif 89 endif
89 90
90 if (isscalar (vn)) 91 if (isscalar (vn))
91 vv = linspace (min (z(:)), max (z(:)), vn+2)(2:end-1); 92 vv = linspace (min (z(:)), max (z(:)), vn+2)(2:end-1);
92 else 93 else