Don't allow quat="0 0 0 0" in XML.

PiperOrigin-RevId: 557535436
Change-Id: Ie71246da5fff67a7cc37cb1801dd88d4a79b5766
This commit is contained in:
Yuval Tassa
2023-08-16 10:46:29 -07:00
committed by Copybara-Service
parent 15d74ba939
commit cf310079e2
4 changed files with 36 additions and 5 deletions
+16
View File
@@ -328,6 +328,22 @@ TEST_F(XMLReaderTest, InvalidArrayLength) {
EXPECT_THAT(error.data(), HasSubstr("has too much data"));
}
TEST_F(XMLReaderTest, InvalidQuaternion) {
static constexpr char xml[] = R"(
<mujoco>
<worldbody>
<body>
<geom size="1" quat="0 0 0 0"/>
</body>
</worldbody>
</mujoco>
)";
std::array<char, 1024> error;
mjModel* model = LoadModelFromString(xml, error.data(), error.size());
ASSERT_THAT(model, IsNull());
EXPECT_THAT(error.data(), HasSubstr("zero quaternion is not allowed"));
}
TEST_F(XMLReaderTest, InvalidNumber) {
static constexpr char xml[] = R"(
<mujoco>