diff options
author | Emilio Cobos Álvarez <ecoal95@gmail.com> | 2016-03-27 14:18:13 +0200 |
---|---|---|
committer | Emilio Cobos Álvarez <me@emiliocobos.me> | 2016-04-03 01:21:56 +0200 |
commit | 240ac7cfe2c5ce87a87ce1bf38d7a62a3c32aaa2 (patch) | |
tree | 08afd79585178434013ed6f69c29b0c053f86ce0 /components/script/dom | |
parent | 8b32e63db843b4ac534c33a87ed53a4acf9b6da7 (diff) | |
download | servo-240ac7cfe2c5ce87a87ce1bf38d7a62a3c32aaa2.tar.gz servo-240ac7cfe2c5ce87a87ce1bf38d7a62a3c32aaa2.zip |
webgl: Validate shader type parameter to CreateShader.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/webglrenderingcontext.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index d08a9456624..6cbba2e3c29 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -679,6 +679,13 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.9 fn CreateShader(&self, shader_type: u32) -> Option<Root<WebGLShader>> { + match shader_type { + constants::VERTEX_SHADER | constants::FRAGMENT_SHADER => {}, + _ => { + self.webgl_error(InvalidEnum); + return None; + } + } WebGLShader::maybe_new(self.global().r(), self.ipc_renderer.clone(), shader_type) } |