Bug 1444252 - Check if program is linked in GetActiveUniforms. - r=kvark draft
authorJeff Gilbert <jgilbert@mozilla.com>
Mon, 26 Feb 2018 12:03:55 -0800
changeset 765602 844f09651ee1477c6dab0328bd80745043d76953
parent 765601 09ecb6d589490df1abb869bf025ce094ba87bcac
push id102114
push userbmo:jgilbert@mozilla.com
push dateFri, 09 Mar 2018 22:13:16 +0000
reviewerskvark
bugs1444252
milestone60.0a1
Bug 1444252 - Check if program is linked in GetActiveUniforms. - r=kvark MozReview-Commit-ID: EBbgWlzdC3A
dom/canvas/WebGL2ContextUniforms.cpp
--- a/dom/canvas/WebGL2ContextUniforms.cpp
+++ b/dom/canvas/WebGL2ContextUniforms.cpp
@@ -167,16 +167,21 @@ WebGL2Context::GetActiveUniforms(JSConte
         return;
 
     if (!ValidateUniformEnum(this, pname, funcName))
         return;
 
     if (!ValidateObject("getActiveUniforms: program", program))
         return;
 
+    if (!program.IsLinked()) {
+        ErrorInvalidOperation("%s: `program` must be linked.", funcName);
+        return;
+    }
+
     const auto& numActiveUniforms = program.LinkInfo()->uniforms.size();
     for (const auto& curIndex : uniformIndices) {
         if (curIndex >= numActiveUniforms) {
             ErrorInvalidValue("%s: Too-large active uniform index queried.", funcName);
             return;
         }
     }