Make MuJoCo work with -fsanitize=alignment.

PiperOrigin-RevId: 563702045
Change-Id: Ieca69595b7e2fc1e35ca69754d7cc7971825f48b
This commit is contained in:
Saran Tunyasuvunakool
2023-09-08 03:28:41 -07:00
committed by Copybara-Service
parent 7e5a7b76fc
commit a07e172770
3 changed files with 53 additions and 13 deletions
+24
View File
@@ -813,6 +813,30 @@ TEST_F(EngineIoTest, CanDetectStackFrameLeakage) {
mj_deleteData(data);
mj_deleteModel(model);
}
TEST_F(EngineIoTest, RedZoneAlignmentTest) {
static constexpr char xml[] = R"(
<mujoco>
<worldbody>
</worldbody>
</mujoco>
)";
std::array<char, 1024> error;
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
ASSERT_THAT(model, NotNull()) << "Failed to load model: " << error.data();
mjData* data = mj_makeData(model);
ASSERT_THAT(data, NotNull());
mj_markStack(data);
mj_stackAlloc(data, 1, 1);
mj_stackAlloc(data, 1, 1);
mj_freeStack(data);
mj_deleteData(data);
mj_deleteModel(model);
}
#endif
} // namespace