Commit d16c3119 for xz
commit d16c31196e4c1fd4a76c960a5c7db261075e4db1
Author: Darren Carreras <283775510+carrerasdarren-cell@users.noreply.github.com>
Date: Mon Jul 27 22:13:09 2026 -0400
Tests: Add a test for the lzma_index_dup() + lzma_index_checks bug()
Link: https://github.com/tukaani-project/xz/pull/238
diff --git a/tests/test_index.c b/tests/test_index.c
index f4ac4b4c..e3cb6256 100644
--- a/tests/test_index.c
+++ b/tests/test_index.c
@@ -1319,6 +1319,13 @@ test_lzma_index_dup(void)
lzma_index *idx = lzma_index_init(NULL);
assert_true(idx != NULL);
+ lzma_stream_flags flags = {
+ .version = 0,
+ .backward_size = LZMA_BACKWARD_SIZE_MIN,
+ .check = LZMA_CHECK_CRC32,
+ };
+ assert_lzma_ret(lzma_index_stream_flags(idx, &flags), LZMA_OK);
+
// Test for the bug fix 21515d79d778b8730a434f151b07202d52a04611:
// liblzma: Fix lzma_index_dup() for empty Streams.
assert_lzma_ret(lzma_index_stream_padding(idx, 4), LZMA_OK);
@@ -1343,11 +1350,17 @@ test_lzma_index_dup(void)
lzma_index *second = lzma_index_init(NULL);
assert_true(second != NULL);
+ flags.check = LZMA_CHECK_CRC64;
+ assert_lzma_ret(lzma_index_stream_flags(second, &flags), LZMA_OK);
+
assert_lzma_ret(lzma_index_stream_padding(second, 16), LZMA_OK);
lzma_index *third = lzma_index_init(NULL);
assert_true(third != NULL);
+ flags.check = LZMA_CHECK_SHA256;
+ assert_lzma_ret(lzma_index_stream_flags(third, &flags), LZMA_OK);
+
assert_lzma_ret(lzma_index_append(third, NULL,
UNPADDED_SIZE_MIN * 10, 40), LZMA_OK);
assert_lzma_ret(lzma_index_append(third, NULL,
@@ -1361,6 +1374,7 @@ test_lzma_index_dup(void)
copy = lzma_index_dup(idx, NULL);
assert_true(copy != NULL);
assert_true(index_is_equal(idx, copy));
+ assert_uint_eq(lzma_index_checks(copy), lzma_index_checks(idx));
lzma_index_end(copy, NULL);
lzma_index_end(idx, NULL);