Add upb_MiniTable_FindUnknown depth_limit parameter.
Fix UpbMessageIsEqual IsMap fallthrough.
PiperOrigin-RevId: 522961305
diff --git a/python/message.c b/python/message.c
index 753cc74..2fe5126 100644
--- a/python/message.c
+++ b/python/message.c
@@ -36,6 +36,7 @@
#include "upb/reflection/message.h"
#include "upb/text/encode.h"
#include "upb/util/required_fields.h"
+#include "upb/wire/common.h"
static const upb_MessageDef* PyUpb_MessageMeta_GetMsgdef(PyObject* cls);
static PyObject* PyUpb_MessageMeta_GetAttr(PyObject* self, PyObject* name);
@@ -1254,8 +1255,9 @@
const upb_MiniTable* layout = upb_MessageDef_MiniTable(msgdef);
upb_Arena* arena = PyUpb_Arena_Get(self->arena);
PyUpb_ModuleState* state = PyUpb_ModuleState_Get();
- int options =
- UPB_DECODE_MAXDEPTH(state->allow_oversize_protos ? UINT32_MAX : 100);
+ int options = upb_DecodeOptions_MaxDepth(
+ state->allow_oversize_protos ? UINT16_MAX
+ : kUpb_WireFormat_DefaultDepthLimit);
upb_DecodeStatus status =
upb_Decode(buf, size, self->ptr.msg, layout, extreg, options, arena);
Py_XDECREF(bytes);