From 7372e4c4eb27e533ab993092f56490cfe11c91ca Mon Sep 17 00:00:00 2001 From: Lior Ramati Date: Wed, 16 Jan 2019 16:06:18 +0200 Subject: [PATCH] Add bounds check to all format options in enable_stream --- wrappers/matlab/config.m | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/wrappers/matlab/config.m b/wrappers/matlab/config.m index 455b1f7d53..1f874c73f0 100644 --- a/wrappers/matlab/config.m +++ b/wrappers/matlab/config.m @@ -25,7 +25,7 @@ function enable_stream(this, varargin) which = 'enable_stream#stream'; case 3 if isa(varargin{2}, 'realsense.format') - validateattributes(varargin{2}, {'realsense.format'}, {'scalar'}, '', 'format', 3); + validateattributes(varargin{2}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 3); which = 'enable_stream#format'; else validateattributes(varargin{2}, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'stream_index', 3); @@ -33,12 +33,12 @@ function enable_stream(this, varargin) end case 4 if isa(varargin{2}, 'realsense.format') - validateattributes(varargin{2}, {'realsense.format'}, {'scalar'}, '', 'format', 3); + validateattributes(varargin{2}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 3); validateattributes(varargin{3}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'framerate', 4); which = 'enable_stream#format'; elseif isa(varargin{3}, 'realsense.format') validateattributes(varargin{2}, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'stream_index', 3); - validateattributes(varargin{3}, {'realsense.format'}, {'scalar'}, '', 'format', 4); + validateattributes(varargin{3}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 4); which = 'enable_stream#extended'; else validateattributes(varargin{2}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'width', 3); @@ -48,13 +48,13 @@ function enable_stream(this, varargin) case 5 if isa(varargin{3}, 'realsense.format') validateattributes(varargin{2}, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'stream_index', 3); - validateattributes(varargin{3}, {'realsense.format'}, {'scalar'}, '', 'format', 4); + validateattributes(varargin{3}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 4); validateattributes(varargin{4}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'framerate', 5); which = 'enable_stream#extended'; elseif isa(varargin{4}, 'realsense.format') validateattributes(varargin{2}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'width', 3); validateattributes(varargin{3}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'height', 4); - validateattributes(varargin{4}, {'realsense.format'}, {'scalar'}, '', 'format', 5); + validateattributes(varargin{4}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 5); which = 'enable_stream#size'; else validateattributes(varargin{2}, {'numeric'}, {'scalar', 'real', 'integer'}, '', 'stream_index', 3); @@ -66,7 +66,7 @@ function enable_stream(this, varargin) if isa(varargin{4}, 'realsense.format') validateattributes(varargin{2}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'width', 3); validateattributes(varargin{3}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'height', 4); - validateattributes(varargin{4}, {'realsense.format'}, {'scalar'}, '', 'format', 5); + validateattributes(varargin{4}, {'realsense.format', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.format.count)}, '', 'format', 5); validateattributes(varargin{5}, {'numeric'}, {'scalar', 'nonnegative', 'real', 'integer'}, '', 'framerate', 6); which = 'enable_stream#size'; else