upb: lock down upb_MiniTableSub
PiperOrigin-RevId: 586187469
diff --git a/upb/wire/decode_fast.c b/upb/wire/decode_fast.c
index 5a412ef..a77aea3 100644
--- a/upb/wire/decode_fast.c
+++ b/upb/wire/decode_fast.c
@@ -20,6 +20,7 @@
#include "upb/message/array.h"
#include "upb/message/internal/array.h"
#include "upb/message/internal/types.h"
+#include "upb/mini_table/sub.h"
#include "upb/wire/internal/decode.h"
// Must be last.
@@ -914,7 +915,8 @@
upb_Message** dst; \
uint32_t submsg_idx = (data >> 16) & 0xff; \
const upb_MiniTable* tablep = decode_totablep(table); \
- const upb_MiniTable* subtablep = tablep->subs[submsg_idx].submsg; \
+ const upb_MiniTable* subtablep = \
+ upb_MiniTableSub_Message(tablep->subs[submsg_idx]); \
fastdecode_submsgdata submsg = {decode_totable(subtablep)}; \
fastdecode_arr farr; \
\