[tint][ir][fuzz] Handle nulls when emitting Var validation errors

Fixes: 355249242
Change-Id: Id3063a7741e803f2765dd6f79668aa1811f22290
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/200054
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/ir/validator.cc b/src/tint/lang/core/ir/validator.cc
index 7229e95..caaf664 100644
--- a/src/tint/lang/core/ir/validator.cc
+++ b/src/tint/lang/core/ir/validator.cc
@@ -1141,9 +1141,14 @@
     if (var->Initializer()) {
         if (var->Initializer()->Type() != var->Result(0)->Type()->UnwrapPtrOrRef()) {
             AddError(var) << "initializer type "
-                          << style::Type(var->Initializer()->Type()->FriendlyName())
+                          << style::Type(var->Initializer()->Type()
+                                             ? var->Initializer()->Type()->FriendlyName()
+                                             : "undef")
                           << " does not match store type "
-                          << style::Type(var->Result(0)->Type()->UnwrapPtrOrRef()->FriendlyName());
+                          << style::Type(
+                                 var->Result(0)->Type()
+                                     ? var->Result(0)->Type()->UnwrapPtrOrRef()->FriendlyName()
+                                     : "undef");
             return;
         }
     }