fix(rpc): don't parse msgpack if buflen is 0

This prevents `buflen` from becoming a very large number when it is 0
when calling mpack_rtoken().

(cherry picked from commit 266f42ed8b)
This commit is contained in:
zeertzjq
2023-01-19 17:50:18 +08:00
committed by github-actions[bot]
parent 383cddd784
commit 08b375d750

View File

@ -173,6 +173,9 @@ MPACK_API int mpack_write(mpack_tokbuf_t *tokbuf, char **buf, size_t *buflen,
int mpack_rtoken(const char **buf, size_t *buflen, mpack_token_t *tok)
{
if (*buflen == 0) {
return MPACK_EOF;
}
unsigned char t = ADVANCE(buf, buflen);
if (t < 0x80) {
/* positive fixint */