Skip to content

Commit

Permalink
Merge pull request #266 from PJK/ints32b
Browse files Browse the repository at this point in the history
Fix bytesting test broken on 32b systems
  • Loading branch information
PJK committed Jan 8, 2023
2 parents 98dd1c7 + 0885bfd commit dd5d917
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 17 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -3,6 +3,8 @@ Template:

Next
---------------------
- [Fixed minor test bug causing failures for x86 Linux](https://github.com/PJK/libcbor/pull/266) (discovered by [trofi](https://github.com/PJK/libcbor/issues/263))
- Actual libcbor functionality not affected, bug was in the test suite

0.10.1 (2022-12-30)
---------------------
Expand Down
23 changes: 6 additions & 17 deletions test/cbor_serialize_test.c
Expand Up @@ -159,27 +159,17 @@ static void test_serialize_indefinite_bytestring(void **_CBOR_UNUSED(_state)) {
cbor_decref(&item);
}

static void test_serialize_4b_bytestring(void **_CBOR_UNUSED(_state)) {
cbor_item_t *item = cbor_new_definite_bytestring();

// Fake having a huge chunk of data
unsigned char *data = malloc(1);
cbor_bytestring_set_handle(item, data, UINT32_MAX);

assert_size_equal(cbor_serialize(item, buffer, 512), 0);
assert_size_equal(cbor_serialized_size(item), (uint64_t)UINT32_MAX + 5);
cbor_decref(&item);
}

static void test_serialize_8b_bytestring(void **_CBOR_UNUSED(_state)) {
static void test_serialize_bytestring_size_overflow(
void **_CBOR_UNUSED(_state)) {
cbor_item_t *item = cbor_new_definite_bytestring();

// Fake having a huge chunk of data
unsigned char *data = malloc(1);
cbor_bytestring_set_handle(item, data, (uint64_t)UINT32_MAX + 1);
cbor_bytestring_set_handle(item, data, SIZE_MAX);

// Would require 1 + 8 + SIZE_MAX bytes, which overflows size_t
assert_size_equal(cbor_serialize(item, buffer, 512), 0);
assert_size_equal(cbor_serialized_size(item), (uint64_t)UINT32_MAX + 1 + 9);
assert_size_equal(cbor_serialized_size(item), 0);
cbor_decref(&item);
}

Expand Down Expand Up @@ -645,8 +635,7 @@ int main(void) {
cmocka_unit_test(test_serialize_negint64),
cmocka_unit_test(test_serialize_definite_bytestring),
cmocka_unit_test(test_serialize_indefinite_bytestring),
cmocka_unit_test(test_serialize_4b_bytestring),
cmocka_unit_test(test_serialize_8b_bytestring),
cmocka_unit_test(test_serialize_bytestring_size_overflow),
cmocka_unit_test(test_serialize_bytestring_no_space),
cmocka_unit_test(test_serialize_indefinite_bytestring_no_space),
cmocka_unit_test(test_serialize_definite_string),
Expand Down

0 comments on commit dd5d917

Please sign in to comment.