Skip to content

Commit ce7a906

Browse files
Mario-DLmergify[bot]
authored andcommitted
Address oss fuzz XMLParser regression (#5325)
* Refs #21856: Regression test Signed-off-by: Mario Dominguez <[email protected]> * Refs #21856: Fix Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]> (cherry picked from commit a4e0019)
1 parent d3b9780 commit ce7a906

File tree

3 files changed

+142
-36
lines changed

3 files changed

+142
-36
lines changed

src/cpp/xmlparser/XMLDynamicParser.cpp

+140-36
Original file line numberDiff line numberDiff line change
@@ -1391,9 +1391,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
13911391
length)};
13921392
std::vector<uint32_t> bounds;
13931393
dimensionsToArrayBounds(memberArray, bounds);
1394-
member = factory->create_array_type(
1394+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
13951395
inner_builder->build(),
1396-
bounds)->build();
1396+
bounds);
1397+
member = nullptr;
1398+
if (nullptr != builder)
1399+
{
1400+
member = builder->build();
1401+
}
13971402
}
13981403
}
13991404
else if (strncmp(memberType, BOOLEAN, BOOLEAN_len) == 0)
@@ -1406,9 +1411,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14061411
{
14071412
std::vector<uint32_t> bounds;
14081413
dimensionsToArrayBounds(memberArray, bounds);
1409-
member = factory->create_array_type(
1414+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14101415
factory->get_primitive_type(TK_BOOLEAN),
1411-
bounds)->build();
1416+
bounds);
1417+
member = nullptr;
1418+
if (nullptr != builder)
1419+
{
1420+
member = builder->build();
1421+
}
14121422
}
14131423
}
14141424
else if (strncmp(memberType, CHAR, CHAR_len) == 0)
@@ -1421,9 +1431,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14211431
{
14221432
std::vector<uint32_t> bounds;
14231433
dimensionsToArrayBounds(memberArray, bounds);
1424-
member = factory->create_array_type(
1434+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14251435
factory->get_primitive_type(TK_CHAR8),
1426-
bounds)->build();
1436+
bounds);
1437+
member = nullptr;
1438+
if (nullptr != builder)
1439+
{
1440+
member = builder->build();
1441+
}
14271442
}
14281443
}
14291444
else if (strncmp(memberType, WCHAR, WCHAR_len) == 0)
@@ -1436,9 +1451,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14361451
{
14371452
std::vector<uint32_t> bounds;
14381453
dimensionsToArrayBounds(memberArray, bounds);
1439-
member = factory->create_array_type(
1454+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14401455
factory->get_primitive_type(TK_CHAR16),
1441-
bounds)->build();
1456+
bounds);
1457+
member = nullptr;
1458+
if (nullptr != builder)
1459+
{
1460+
member = builder->build();
1461+
}
14421462
}
14431463
}
14441464
else if (strncmp(memberType, TBYTE, TBYTE_len) == 0
@@ -1452,9 +1472,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14521472
{
14531473
std::vector<uint32_t> bounds;
14541474
dimensionsToArrayBounds(memberArray, bounds);
1455-
member = factory->create_array_type(
1475+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14561476
factory->get_primitive_type(TK_BYTE),
1457-
bounds)->build();
1477+
bounds);
1478+
member = nullptr;
1479+
if (nullptr != builder)
1480+
{
1481+
member = builder->build();
1482+
}
14581483
}
14591484
}
14601485
else if (strncmp(memberType, UINT8, UINT8_len) == 0)
@@ -1467,9 +1492,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14671492
{
14681493
std::vector<uint32_t> bounds;
14691494
dimensionsToArrayBounds(memberArray, bounds);
1470-
member = factory->create_array_type(
1495+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14711496
factory->get_primitive_type(TK_UINT8),
1472-
bounds)->build();
1497+
bounds);
1498+
1499+
member = nullptr;
1500+
if (nullptr != builder)
1501+
{
1502+
member = builder->build();
1503+
}
14731504
}
14741505
}
14751506
else if (strncmp(memberType, INT8, INT8_len) == 0)
@@ -1482,9 +1513,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14821513
{
14831514
std::vector<uint32_t> bounds;
14841515
dimensionsToArrayBounds(memberArray, bounds);
1485-
member = factory->create_array_type(
1516+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
14861517
factory->get_primitive_type(TK_INT8),
1487-
bounds)->build();
1518+
bounds);
1519+
1520+
member = nullptr;
1521+
if (nullptr != builder)
1522+
{
1523+
member = builder->build();
1524+
}
14881525
}
14891526
}
14901527
else if (strncmp(memberType, SHORT, SHORT_len) == 0)
@@ -1497,9 +1534,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
14971534
{
14981535
std::vector<uint32_t> bounds;
14991536
dimensionsToArrayBounds(memberArray, bounds);
1500-
member = factory->create_array_type(
1537+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15011538
factory->get_primitive_type(TK_INT16),
1502-
bounds)->build();
1539+
bounds);
1540+
1541+
member = nullptr;
1542+
if (nullptr != builder)
1543+
{
1544+
member = builder->build();
1545+
}
15031546
}
15041547
}
15051548
else if (strncmp(memberType, LONG, LONG_len) == 0)
@@ -1512,9 +1555,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15121555
{
15131556
std::vector<uint32_t> bounds;
15141557
dimensionsToArrayBounds(memberArray, bounds);
1515-
member = factory->create_array_type(
1558+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15161559
factory->get_primitive_type(TK_INT32),
1517-
bounds)->build();
1560+
bounds);
1561+
1562+
member = nullptr;
1563+
if (nullptr != builder)
1564+
{
1565+
member = builder->build();
1566+
}
15181567
}
15191568
}
15201569
else if (strncmp(memberType, ULONG, ULONG_len) == 0)
@@ -1527,9 +1576,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15271576
{
15281577
std::vector<uint32_t> bounds;
15291578
dimensionsToArrayBounds(memberArray, bounds);
1530-
member = factory->create_array_type(
1579+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15311580
factory->get_primitive_type(TK_UINT32),
1532-
bounds)->build();
1581+
bounds);
1582+
1583+
member = nullptr;
1584+
if (nullptr != builder)
1585+
{
1586+
member = builder->build();
1587+
}
15331588
}
15341589
}
15351590
else if (strncmp(memberType, USHORT, USHORT_len) == 0)
@@ -1542,9 +1597,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15421597
{
15431598
std::vector<uint32_t> bounds;
15441599
dimensionsToArrayBounds(memberArray, bounds);
1545-
member = factory->create_array_type(
1600+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15461601
factory->get_primitive_type(TK_UINT16),
1547-
bounds)->build();
1602+
bounds);
1603+
1604+
member = nullptr;
1605+
if (nullptr != builder)
1606+
{
1607+
member = builder->build();
1608+
}
15481609
}
15491610
}
15501611
else if (strncmp(memberType, LONGLONG, LONGLONG_len) == 0)
@@ -1557,9 +1618,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15571618
{
15581619
std::vector<uint32_t> bounds;
15591620
dimensionsToArrayBounds(memberArray, bounds);
1560-
member = factory->create_array_type(
1621+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15611622
factory->get_primitive_type(TK_INT64),
1562-
bounds)->build();
1623+
bounds);
1624+
1625+
member = nullptr;
1626+
if (nullptr != builder)
1627+
{
1628+
member = builder->build();
1629+
}
15631630
}
15641631
}
15651632
else if (strncmp(memberType, ULONGLONG, ULONGLONG_len) == 0)
@@ -1572,9 +1639,18 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15721639
{
15731640
std::vector<uint32_t> bounds;
15741641
dimensionsToArrayBounds(memberArray, bounds);
1575-
member = factory->create_array_type(
1642+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15761643
factory->get_primitive_type(TK_UINT64),
1577-
bounds)->build();
1644+
bounds);
1645+
1646+
if (nullptr != builder)
1647+
{
1648+
member = builder->build();
1649+
}
1650+
else
1651+
{
1652+
member = nullptr;
1653+
}
15781654
}
15791655
}
15801656
else if (strncmp(memberType, FLOAT, FLOAT_len) == 0)
@@ -1587,9 +1663,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
15871663
{
15881664
std::vector<uint32_t> bounds;
15891665
dimensionsToArrayBounds(memberArray, bounds);
1590-
member = factory->create_array_type(
1666+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
15911667
factory->get_primitive_type(TK_FLOAT32),
1592-
bounds)->build();
1668+
bounds);
1669+
1670+
member = nullptr;
1671+
if (nullptr != builder)
1672+
{
1673+
member = builder->build();
1674+
}
15931675
}
15941676
}
15951677
else if (strncmp(memberType, DOUBLE, DOUBLE_len) == 0)
@@ -1602,9 +1684,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
16021684
{
16031685
std::vector<uint32_t> bounds;
16041686
dimensionsToArrayBounds(memberArray, bounds);
1605-
member = factory->create_array_type(
1687+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
16061688
factory->get_primitive_type(TK_FLOAT64),
1607-
bounds)->build();
1689+
bounds);
1690+
1691+
member = nullptr;
1692+
if (nullptr != builder)
1693+
{
1694+
member = builder->build();
1695+
}
16081696
}
16091697
}
16101698
else if (strncmp(memberType, LONGDOUBLE, LONGDOUBLE_len) == 0)
@@ -1617,9 +1705,15 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
16171705
{
16181706
std::vector<uint32_t> bounds;
16191707
dimensionsToArrayBounds(memberArray, bounds);
1620-
member = factory->create_array_type(
1708+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
16211709
factory->get_primitive_type(TK_FLOAT128),
1622-
bounds)->build();
1710+
bounds);
1711+
1712+
member = nullptr;
1713+
if (nullptr != builder)
1714+
{
1715+
member = builder->build();
1716+
}
16231717
}
16241718
}
16251719
else if (strncmp(memberType, STRING, STRING_len) == 0)
@@ -1691,9 +1785,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
16911785
{
16921786
std::vector<uint32_t> boundsArray;
16931787
dimensionsToArrayBounds(memberArray, boundsArray);
1694-
member = factory->create_array_type(
1788+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
16951789
wstring_builder->build(),
1696-
boundsArray)->build();
1790+
boundsArray);
1791+
member = nullptr;
1792+
if (nullptr != builder)
1793+
{
1794+
member = builder->build();
1795+
}
16971796
}
16981797
}
16991798
else // Complex type?
@@ -1718,9 +1817,14 @@ DynamicType::_ref_type XMLParser:: parseXMLMemberDynamicType(
17181817
{
17191818
std::vector<uint32_t> bounds;
17201819
dimensionsToArrayBounds(memberArray, bounds);
1721-
member = factory->create_array_type(
1820+
DynamicTypeBuilder::_ref_type builder = factory->create_array_type(
17221821
type,
1723-
bounds)->build();
1822+
bounds);
1823+
member = nullptr;
1824+
if (nullptr != builder)
1825+
{
1826+
member = builder->build();
1827+
}
17241828
}
17251829
}
17261830

test/unittest/xmlparser/XMLParserTests.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ TEST_F(XMLParserTests, regressions)
8383
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/21181_profile_bin.xml", root));
8484
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/21223_profile_bin.xml", root));
8585
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/21334_profile_bin.xml", root));
86+
EXPECT_EQ(XMLP_ret::XML_ERROR, XMLParser::loadXML("regressions/21856_profile_bin.xml", root));
8687
Log::Flush();
8788
}
8889

Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<profiles>le<types><type>+68ÌÏnn<typedef type="uint65" name=":" arrayDimkindons="ÿÿÜnnÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ&ÿÿÿÿÿÿÿÿÿÿnnÿÿ/0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+00000000000000000001ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ6744073709551616ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ><typedef type="uint32" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿ3ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+30ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/<typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+30ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyna<types><type>+257pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnnÿÿ/0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+000 0000000000000001ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"ÿÿ4" /></type></types>pofilï_tyna<types><type>+30ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyne<types><type>+257pÿÿÿÿÿÿÿÿÿ$ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnnÿÿ/0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+00000000000000000000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+31ÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyna<types><type>+257pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint32" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnnÿÿ/0ÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyna<types><type>+6pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnnÿÿ/0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+00000000000000000000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+31ÿÿ><typedef type="uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyna<types><type>+257pÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimensions="ÿÿ8" /></type></types>pofilï_tyna<types><type>+25"uint64" name=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":" arrayDimenSions="ÿÿ4" /></type></types>pofilï_tyna<types><type>+31ÿÿ><typedef type="uint64" name=":" arrayDômensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/4" /></type></types>pfile<types><type>+/><typedef type="uint64" name=":"naÿÿÿÿÿÿÿÿÿme=":" arrayDimensions="ÿÿÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿnnÿÿ" /></type></types></profiles>

0 commit comments

Comments
 (0)