diff --git a/upb/mini_table/decode.c b/upb/mini_table/decode.c
index 506d3999a4..b8adaf60c1 100644
--- a/upb/mini_table/decode.c
+++ b/upb/mini_table/decode.c
@@ -975,12 +975,12 @@ static const char* upb_MtDecoder_BuildMiniTableExtension(
                                                  extendee, sub);
 }
 
-const char* _upb_MiniTableExtension_Build(const char* data, size_t len,
-                                          upb_MiniTableExtension* ext,
-                                          const upb_MiniTable* extendee,
-                                          upb_MiniTableSub sub,
-                                          upb_MiniTablePlatform platform,
-                                          upb_Status* status) {
+const char* _upb_MiniTableExtension_Init(const char* data, size_t len,
+                                         upb_MiniTableExtension* ext,
+                                         const upb_MiniTable* extendee,
+                                         upb_MiniTableSub sub,
+                                         upb_MiniTablePlatform platform,
+                                         upb_Status* status) {
   upb_MtDecoder decoder = {
       .arena = NULL,
       .status = status,
diff --git a/upb/mini_table/decode.h b/upb/mini_table/decode.h
index 57d7e52cae..efcbe20414 100644
--- a/upb/mini_table/decode.h
+++ b/upb/mini_table/decode.h
@@ -79,18 +79,21 @@ UPB_API bool upb_MiniTable_SetSubEnum(upb_MiniTable* table,
                                       upb_MiniTableField* field,
                                       const upb_MiniTableEnum* sub);
 
-const char* _upb_MiniTableExtension_Build(const char* data, size_t len,
-                                          upb_MiniTableExtension* ext,
-                                          const upb_MiniTable* extendee,
-                                          upb_MiniTableSub sub,
-                                          upb_MiniTablePlatform platform,
-                                          upb_Status* status);
-
-UPB_API_INLINE const char* upb_MiniTableExtension_Build(
+// Initializes a MiniTableExtension buffer that has already been allocated.
+// This is needed (for example) by upb_FileDef, which allocates all of the
+// extensions together in a single contiguous array.
+const char* _upb_MiniTableExtension_Init(const char* data, size_t len,
+                                         upb_MiniTableExtension* ext,
+                                         const upb_MiniTable* extendee,
+                                         upb_MiniTableSub sub,
+                                         upb_MiniTablePlatform platform,
+                                         upb_Status* status);
+
+UPB_API_INLINE const char* upb_MiniTableExtension_Init(
     const char* data, size_t len, upb_MiniTableExtension* ext,
     const upb_MiniTable* extendee, upb_MiniTableSub sub, upb_Status* status) {
-  return _upb_MiniTableExtension_Build(data, len, ext, extendee, sub,
-                                       kUpb_MiniTablePlatform_Native, status);
+  return _upb_MiniTableExtension_Init(data, len, ext, extendee, sub,
+                                      kUpb_MiniTablePlatform_Native, status);
 }
 
 UPB_API upb_MiniTableEnum* upb_MiniTableEnum_Build(const char* data, size_t len,
diff --git a/upb/reflection/field_def.c b/upb/reflection/field_def.c
index cc509dd6cd..da4d03807b 100644
--- a/upb/reflection/field_def.c
+++ b/upb/reflection/field_def.c
@@ -593,7 +593,7 @@ static void _upb_FieldDef_Create(upb_DefBuilder* ctx, const char* prefix,
     }
   } else if (has_type_name) {
     f->type_ =
-        UPB_FIELD_TYPE_UNSPECIFIED;  // We'll fill this in in resolve_fielddef()
+        UPB_FIELD_TYPE_UNSPECIFIED;  // We'll assign this in resolve_fielddef()
   }
 
   if (f->type_ < kUpb_FieldType_Double || f->type_ > kUpb_FieldType_SInt64) {
@@ -877,9 +877,9 @@ void _upb_FieldDef_BuildMiniTableExtension(upb_DefBuilder* ctx,
     } else if (_upb_FieldDef_IsClosedEnum(f)) {
       sub.subenum = _upb_EnumDef_MiniTable(f->sub.enumdef);
     }
-    bool ok2 = upb_MiniTableExtension_Build(desc.data, desc.size, mut_ext,
-                                            upb_MessageDef_MiniTable(f->msgdef),
-                                            sub, ctx->status);
+    bool ok2 = upb_MiniTableExtension_Init(desc.data, desc.size, mut_ext,
+                                           upb_MessageDef_MiniTable(f->msgdef),
+                                           sub, ctx->status);
     if (!ok2) _upb_DefBuilder_Errf(ctx, "Could not build extension mini table");
   }
 
diff --git a/upb/test/fuzz_util.cc b/upb/test/fuzz_util.cc
index 8fafc000a3..09b1daec0f 100644
--- a/upb/test/fuzz_util.cc
+++ b/upb/test/fuzz_util.cc
@@ -134,8 +134,8 @@ void Builder::BuildExtensions(upb_ExtensionRegistry** exts) {
       upb_MiniTableSub sub;
       const upb_MiniTable* extendee = NextMiniTable();
       if (!extendee) break;
-      ptr = upb_MiniTableExtension_Build(ptr, end - ptr, ext, extendee, sub,
-                                         status.ptr());
+      ptr = upb_MiniTableExtension_Init(ptr, end - ptr, ext, extendee, sub,
+                                        status.ptr());
       if (!ptr) break;
       if (!LinkExtension(ext)) continue;
       if (upb_ExtensionRegistry_Lookup(*exts, ext->extendee, ext->field.number))