fix varint decoding in case the first buffer is smaller than encoded varint
Summary: This is not a super clean solution, given that I have just copied the code over form Varint.h. Another way would be to add a peek(IOBuf&, size_t) method to CursorBase and use that to peek deeper into the chain.
Test Plan: unit tests
Reviewed By: tulloch@fb.com
Subscribers: trunkagent, njormrod, dcapel, benr, folly-diffs@
FB internal diff:
D1689872
Signature: t1:
1689872:
1416964989:
b7f12a2686233f161401288ffcb8c51926b01fdf