Internal change

PiperOrigin-RevId: 1001019275
diff --git a/upb/message/convert_fuzz_test.cc b/upb/message/convert_fuzz_test.cc
index 2c86d02..1278323 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_b574481307) {
+  ArbitraryMiniTableConvertFuzz(
+      upb::fuzz::MiniTableFuzzInput{
+          {"&", "", "%%%", "", ""}, {}, "#3", {0, 2884765147, 4294967295}},
+      upb::fuzz::MiniTableFuzzInput{{"&"}, {}, "", {1}},
+      std::string(
+          "\n{ppppppp`0\000ppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuquuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "\331uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuu\010\010\010\010uuuuuuuuuuuuuuuuuuuyuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuusuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\301\301"
+          "\301\301\301\301uuuuuu~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\215uuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"
+          "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuppppppppppppppp\371\371\371pp\331:"
+          "\000\000p\n\nppppppppppppppppppuppppppppppppppppp\216ppppp\n\npppppp"
+          "pppppppppppppopppppppppppp)pppppppppp",
+          858),
+      623911074, 3917243171);
+}
 }  // namespace
 
 }  // namespace upb
diff --git a/upb/test/fuzz_util.cc b/upb/test/fuzz_util.cc
index ed39d18..6cd3204 100644
--- a/upb/test/fuzz_util.cc
+++ b/upb/test/fuzz_util.cc
@@ -110,13 +110,11 @@
   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 || !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 (!et || !upb_MiniTableExtension_SetSubEnum(ext, et)) return false;
   }
   return true;
 }
@@ -138,7 +136,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,