Detect too large varint values when decoding.

Because Issue #139 now allows limiting integer fields, it is good
to check the values received from other protobuf libraries against
the lower limits.
This commit is contained in:
Petteri Aimonen
2015-01-04 12:04:24 +02:00
parent 50c67ecec4
commit a0f0440394
3 changed files with 53 additions and 17 deletions

View File

@@ -101,6 +101,20 @@ int main()
INT32_MIN, 0, INT32_MIN,
INT64_MIN, 0, INT64_MIN, true);
COMMENT("Test overflow detection");
TEST_ROUNDTRIP(-129, 0, -128,
-32768, 0, -32768,
INT32_MIN, 0, INT32_MIN,
INT64_MIN, 0, INT64_MIN, false);
TEST_ROUNDTRIP(127, 256, 127,
32767, 65535, 32767,
INT32_MAX, UINT32_MAX, INT32_MAX,
INT64_MAX, UINT64_MAX, INT64_MAX, false);
TEST_ROUNDTRIP(-128, 0, -128,
-32768, 0, -32769,
INT32_MIN, 0, INT32_MIN,
INT64_MIN, 0, INT64_MIN, false);
if (status != 0)
fprintf(stdout, "\n\nSome tests FAILED!\n");