diff --git a/content/canvas/src/WebGLContextGL.cpp b/content/canvas/src/WebGLContextGL.cpp index 6c4fd58acfbb..8b37fd659eca 100644 --- a/content/canvas/src/WebGLContextGL.cpp +++ b/content/canvas/src/WebGLContextGL.cpp @@ -3626,6 +3626,9 @@ WebGLContext::ShaderSource(nsIWebGLShader *sobj, const nsAString& source) if (!GetConcreteObjectAndGLName("shaderSource: shader", sobj, &shader, &shadername)) return NS_OK; + if (!NS_IsAscii(nsPromiseFlatString(source).get())) + return ErrorInvalidValue("shaderSource: non-ascii characters found in source"); + shader->SetSource(NS_LossyConvertUTF16toASCII(source)); shader->SetNeedsTranslation();