Skip to content

Commit 4874d11

Browse files
Fix oss-fuzz 42193 (#2397)
* Refs 13418. Regression test. Signed-off-by: Miguel Company <[email protected]> * Refs 13418. Fix issue. Signed-off-by: Miguel Company <[email protected]>
1 parent 695fef8 commit 4874d11

File tree

4 files changed

+6
-2
lines changed

4 files changed

+6
-2
lines changed

src/cpp/rtps/xmlparser/XMLDynamicParser.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,12 +1336,13 @@ p_dynamictypebuilder_t XMLParser::parseXMLMemberDynamicType(
13361336
{
13371337
if (!isArray)
13381338
{
1339-
logError(XMLPARSER, "Failed creating " << memberType << ": " << memberName);
1339+
logError(XMLPARSER, "Failed creating " << memberType << ": " << (memberName ? memberName : ""));
13401340
}
13411341
else
13421342
{
1343-
logError(XMLPARSER, "Failed creating " << memberType << " array: " << memberName);
1343+
logError(XMLPARSER, "Failed creating " << memberType << " array: " << (memberName ? memberName : ""));
13441344
}
1345+
return nullptr;
13451346
}
13461347

13471348
const char* memberTopicKey = p_root->Attribute(KEY);

test/unittest/xmlparser/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/UDP_transport_descriptors_config.xml
6464
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/SHM_transport_descriptors_config.xml
6565
${CMAKE_CURRENT_BINARY_DIR}/SHM_transport_descriptors_config.xml
6666
COPYONLY)
67+
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/regressions" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
6768

6869
################################### XMLProfileParserTests ####################################################
6970
set(XMLPROFILEPARSER_SOURCE

test/unittest/xmlparser/XMLParserTests.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ TEST_F(XMLParserTests, regressions)
5555
std::unique_ptr<BaseNode> root;
5656

5757
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/12736.xml", root));
58+
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/13418.xml", root));
5859
}
5960

6061
TEST_F(XMLParserTests, NoFile)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<types><type><typedef type=""arrayDimensions=""/></type></types>

0 commit comments

Comments
 (0)