From 387c9e58987c54b72e66c14b34c98297086cd812 Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Fri, 28 Jan 2022 15:32:43 +0800 Subject: [PATCH] protobuf-python-3.19.0: google.protobuf.pyext._message.PyUnknownFieldRef Prevent integer overflow for unknown fields. https://github.com/protocolbuffers/protobuf/issues/6205 https://github.com/protocolbuffers/protobuf/pull/7016 https://github.com/protocolbuffers/protobuf/commit/5100be2b7746391c2724e2793e1428c36b63c98b Signed-off-by: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Yixun Lan --- python/google/protobuf/pyext/unknown_fields.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/google/protobuf/pyext/unknown_fields.cc b/python/google/protobuf/pyext/unknown_fields.cc index 6d919b3..37e6eae 100644 --- a/python/google/protobuf/pyext/unknown_fields.cc +++ b/python/google/protobuf/pyext/unknown_fields.cc @@ -275,13 +275,13 @@ static PyObject* GetData(PyUnknownFieldRef* self, void *closure) { PyObject* data = NULL; switch (field->type()) { case UnknownField::TYPE_VARINT: - data = PyLong_FromLong(field->varint()); + data = PyLong_FromUnsignedLongLong(field->varint()); break; case UnknownField::TYPE_FIXED32: - data = PyLong_FromLong(field->fixed32()); + data = PyLong_FromUnsignedLong(field->fixed32()); break; case UnknownField::TYPE_FIXED64: - data = PyLong_FromLong(field->fixed64()); + data = PyLong_FromUnsignedLongLong(field->fixed64()); break; case UnknownField::TYPE_LENGTH_DELIMITED: data = PyBytes_FromStringAndSize(field->length_delimited().data(), -- 2.34.1