Skip to content

Commit e6c6bc9

Browse files
committed
Adds additional zero checks for setCompact
These encoded values should all decode to zero Positive Numbers 0x01003456 (1 byte 0x00) 0x02000056 (2 bytes 0x0000) 0x03000000 (3 bytes 0x000000) 0x04000000 (4 bytes 0x000000_00) Negative Numbers 0x00923456 -(0 bytes, so zero) 0x01803456 -(1 byte 0x00) 0x02800056 -(2 bytes 0x0000) 0x03800000 -(3 bytes 0x000000) 0x04800000 -(4 bytes 0x000000_00)
1 parent dd7c1cf commit e6c6bc9

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/test/bignum_tests.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,42 @@ BOOST_AUTO_TEST_CASE(bignum_SetCompact)
135135
BOOST_CHECK_EQUAL(num.GetHex(), "0");
136136
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
137137

138+
num.SetCompact(0x01003456);
139+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
140+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
141+
142+
num.SetCompact(0x02000056);
143+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
144+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
145+
146+
num.SetCompact(0x03000000);
147+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
148+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
149+
150+
num.SetCompact(0x04000000);
151+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
152+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
153+
154+
num.SetCompact(0x00923456);
155+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
156+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
157+
158+
num.SetCompact(0x01803456);
159+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
160+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
161+
162+
num.SetCompact(0x02800056);
163+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
164+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
165+
166+
num.SetCompact(0x03800000);
167+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
168+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
169+
170+
num.SetCompact(0x04800000);
171+
BOOST_CHECK_EQUAL(num.GetHex(), "0");
172+
BOOST_CHECK_EQUAL(num.GetCompact(), 0U);
173+
138174
num.SetCompact(0x01123456);
139175
BOOST_CHECK_EQUAL(num.GetHex(), "12");
140176
BOOST_CHECK_EQUAL(num.GetCompact(), 0x01120000U);

0 commit comments

Comments
 (0)