From: Jamie Pryde Date: Wed, 4 Feb 2026 13:52:52 +0000 (+0000) Subject: test/erasure-code: Use memory comparisons that are safe on big endian arch X-Git-Tag: v21.0.0~304^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ba6f16d694ee757466bfe3cd7e982101fd70e1c6;p=ceph.git test/erasure-code: Use memory comparisons that are safe on big endian arch Signed-off-by: Jamie Pryde --- diff --git a/src/test/erasure-code/TestErasureCodePluginJerasure.cc b/src/test/erasure-code/TestErasureCodePluginJerasure.cc index e180f6d4e0d6..f839bea06f84 100644 --- a/src/test/erasure-code/TestErasureCodePluginJerasure.cc +++ b/src/test/erasure-code/TestErasureCodePluginJerasure.cc @@ -64,7 +64,7 @@ TEST(ErasureCodePlugin, factory) } } -bufferptr create_bufferptr(uint64_t value) { +bufferptr create_bufferptr(uint32_t value) { bufferlist bl; bl.append_zero(4096); memcpy(bl.c_str(), &value, sizeof(value)); @@ -116,7 +116,10 @@ TEST(ErasureCodePlugin, parity_delta_write) { erasure_code->encode_chunks(data, coding2); for (shard_id_t s(k); s < k + m; ++s) { - ASSERT_EQ(*(uint32_t*)coding[s].c_str(), *(uint32_t*)coding2[s].c_str()); + uint32_t coding_buf, coding_buf2; + memcpy(&coding_buf, coding[s].c_str(), sizeof(uint32_t)); + memcpy(&coding_buf2, coding2[s].c_str(), sizeof(uint32_t)); + ASSERT_EQ(coding_buf, coding_buf2); } data[shard_id_t(4)] = create_bufferptr(4096); @@ -133,7 +136,9 @@ TEST(ErasureCodePlugin, parity_delta_write) { seeds[3] = overwrite3; for (shard_id_t s(0); s < k; ++s) { - ASSERT_EQ(seeds[int(s)], *(uint32_t*)data[s].c_str()); + uint32_t data_buf; + memcpy(&data_buf, data[s].c_str(), sizeof(uint32_t)); + ASSERT_EQ(seeds[int(s)], data_buf); } }