From bc02c2455e2267a51ca0877e18c59ceddd478c91 Mon Sep 17 00:00:00 2001 From: Kevin Zakka Date: Wed, 14 Dec 2022 07:56:43 -0800 Subject: [PATCH] Sensor plugin parsing: Ensure sensor `reftype` is only assigned if a value in the XML exists. PiperOrigin-RevId: 495314131 Change-Id: I5f955c435474de1dd1d75f7a7492e3a21ea9d289 --- src/xml/xml_native_reader.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/xml/xml_native_reader.cc b/src/xml/xml_native_reader.cc index 120fbda7..ebd674ef 100644 --- a/src/xml/xml_native_reader.cc +++ b/src/xml/xml_native_reader.cc @@ -3186,8 +3186,9 @@ void mjXReader::Sensor(XMLElement* section) { if (psen->objtype == mjOBJ_UNKNOWN && !psen->objname.empty()) { throw mjXError(elem, "objname is specified but objtype is not"); } - ReadAttrTxt(elem, "reftype", text); - psen->reftype = (mjtObj)mju_str2Type(text.c_str()); + if (ReadAttrTxt(elem, "reftype", text)) { + psen->reftype = (mjtObj)mju_str2Type(text.c_str()); + } ReadAttrTxt(elem, "refname", psen->refname); if (psen->reftype != mjOBJ_UNKNOWN && psen->refname.empty()) { throw mjXError(elem, "reftype is specified but refname is not");