diff --git a/bazel/workspace_deps.bzl b/bazel/workspace_deps.bzl index 8bbd64cd6a..0f47720c08 100644 --- a/bazel/workspace_deps.bzl +++ b/bazel/workspace_deps.bzl @@ -13,10 +13,11 @@ def upb_deps(): maybe( http_archive, name = "com_google_protobuf", - sha256 = "b10bf4e2d1a7586f54e64a5d9e7837e5188fc75ae69e36f215eb01def4f9721b", - strip_prefix = "protobuf-3.15.3", + sha256 = "87407cd28e7a9c95d9f61a098a53cf031109d451a7763e7dd1253abf8b4df422", + strip_prefix = "protobuf-3.19.1", urls = [ - "https://github.com/protocolbuffers/protobuf/archive/v3.15.3.tar.gz", + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.19.1.tar.gz", + "https://github.com/protocolbuffers/protobuf/archive/v3.19.1.tar.gz", ], ) diff --git a/upb/decode_fast.c b/upb/decode_fast.c index d18dccc67e..2872152329 100644 --- a/upb/decode_fast.c +++ b/upb/decode_fast.c @@ -800,6 +800,9 @@ static void fastdecode_docopy(upb_decstate *d, const char *ptr, uint32_t size, UPB_MUSTTAIL return fastdecode_dispatch(UPB_PARSE_ARGS); \ \ longstr: \ + if (card == CARD_r) { \ + fastdecode_commitarr(dst + 1, &farr, sizeof(upb_strview)); \ + } \ ptr--; \ if (validate_utf8) { \ UPB_MUSTTAIL return fastdecode_longstring_utf8(d, ptr, msg, table, \