Internal change

PiperOrigin-RevId: 1000895007
diff --git a/upb/message/convert_fuzz_test.cc b/upb/message/convert_fuzz_test.cc
index 2c86d02..6f7e4cb 100644
--- a/upb/message/convert_fuzz_test.cc
+++ b/upb/message/convert_fuzz_test.cc
@@ -615,6 +615,30 @@
                   20),
       372456973, 1140553636);
 }
+
+TEST(ConvertFuzz, ArbitraryMiniTableConvertFuzzRegression_b574481805) {
+  ArbitraryMiniTableConvertFuzz(
+      upb::fuzz::MiniTableFuzzInput{
+          {"&", "", "%%%", "", ""}, {}, "#3", {0, 2884765147, 4294967295}},
+      upb::fuzz::MiniTableFuzzInput{{"&"}, {}, "", {1}},
+      std::string(
+          "\n{ppppppp`0\000ppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\331uuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuu\010\010\010\010uuuuuuuuuuuuuuuuuuuyuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuusuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\301\301\301"
+          "\301\301\301uuuuuu~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\215uuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuppppppppppppppp\371\371\371pp\331:\000\000p"
+          "\n\nppppppppppppppppppuppppppppppppppppp\216ppppp\n\nppppppppppppppp"
+          "ppppopppppppppppp)pppppppppp",
+          858),
+      623911074, 3917243171);
+}
 }  // namespace
 
 }  // namespace upb
diff --git a/upb/test/fuzz_util.cc b/upb/test/fuzz_util.cc
index ed39d18..9173467 100644
--- a/upb/test/fuzz_util.cc
+++ b/upb/test/fuzz_util.cc
@@ -110,13 +110,13 @@
   upb_MiniTableField* field = &ext->UPB_PRIVATE(field);
   if (upb_MiniTableField_CType(field) == kUpb_CType_Message) {
     auto mt = NextMiniTable();
-    if (!mt) field->UPB_PRIVATE(descriptortype) = kUpb_FieldType_Int32;
-    upb_MiniTableExtension_SetSubMessage(ext, mt);
+    if (!mt) return false;
+    if (!upb_MiniTableExtension_SetSubMessage(ext, mt)) return false;
   }
   if (upb_MiniTableField_IsClosedEnum(field)) {
     auto et = NextEnumTable();
     if (!et) return false;
-    upb_MiniTableExtension_SetSubEnum(ext, et);
+    if (!upb_MiniTableExtension_SetSubEnum(ext, et)) return false;
   }
   return true;
 }
@@ -138,7 +138,7 @@
         *exts = nullptr;
         return;
       }
-      upb_MiniTableSub sub;
+      upb_MiniTableSub sub = upb_MiniTableSub_FromMessage(nullptr);
       const upb_MiniTable* extendee = NextMiniTable();
       if (!extendee) break;
       ptr = upb_MiniTableExtension_Init(ptr, end - ptr, ext, extendee, sub,