Handle b<0

This commit is contained in:
Peter Conrad 2018-08-21 16:48:00 +02:00
parent 79ff75423f
commit 02a4516610

View file

@ -172,7 +172,7 @@ namespace fc {
uint64_t v = 0; char b = 0; uint8_t by = 0; uint64_t v = 0; char b = 0; uint8_t by = 0;
do { do {
s.get(b); s.get(b);
if( by >= 64 || (by == 63 && b > 1) ) if( by >= 64 || (by == 63 && uint8_t(b) > 1) )
FC_THROW_EXCEPTION( overflow_exception, "Invalid packed unsigned_int!" ); FC_THROW_EXCEPTION( overflow_exception, "Invalid packed unsigned_int!" );
v |= uint64_t(uint8_t(b) & 0x7f) << by; v |= uint64_t(uint8_t(b) & 0x7f) << by;
by += 7; by += 7;