From 58968d6a78fa7118585e72486752098e1f43cd10 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Wed, 13 Oct 2021 23:21:04 -0700 Subject: [PATCH] A bit of minor code tweaking that improves benchmarks by 10%. --- upb/decode.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/upb/decode.c b/upb/decode.c index 3c92b65756..d674639ad1 100644 --- a/upb/decode.c +++ b/upb/decode.c @@ -257,12 +257,11 @@ static const char *decode_tag(upb_decstate *d, const char *ptr, uint32_t *val) { } else { const char *start = ptr; decode_vret res = decode_longvarint64(ptr, byte); - ptr = res.ptr; - *val = res.val; - if (!ptr || res.val > UINT32_MAX || ptr - start > 5) { + if (!res.ptr || res.ptr - start > 5 || res.val > UINT32_MAX) { return decode_err(d, kUpb_DecodeStatus_Malformed); } - return ptr; + *val = res.val; + return res.ptr; } }