[tint][ir] Check that BindingArray element type exists in decode

Fixes: 446511576
Change-Id: I81d0f48c0f43be46101aad67bece2dd23546c0b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/263634
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
diff --git a/src/tint/lang/core/ir/binary/decode.cc b/src/tint/lang/core/ir/binary/decode.cc
index d0abed8..de06841 100644
--- a/src/tint/lang/core/ir/binary/decode.cc
+++ b/src/tint/lang/core/ir/binary/decode.cc
@@ -909,6 +909,10 @@
                  << internal_limits::kMaxArrayElementCount << "\n";
             return mod_out_.Types().invalid();
         }
+        if (element == nullptr) {
+            err_ << "binding array element type is invalid\n";
+            return mod_out_.Types().invalid();
+        }
 
         return mod_out_.Types().binding_array(element, count);
     }