diff --git a/CSSLayout/CSSNodeList.c b/CSSLayout/CSSNodeList.c index c4b8f3c1..d48cf4b3 100644 --- a/CSSLayout/CSSNodeList.c +++ b/CSSLayout/CSSNodeList.c @@ -92,5 +92,9 @@ CSSNodeRef CSSNodeListDelete(const CSSNodeListRef list, const CSSNodeRef node) { } CSSNodeRef CSSNodeListGet(const CSSNodeListRef list, const uint32_t index) { - return list->items[index]; + if (CSSNodeListCount(list) > 0) { + return list->items[index]; + } + + return NULL; } diff --git a/tests/CSSLayoutDefaultValuesTest.cpp b/tests/CSSLayoutDefaultValuesTest.cpp index be0dd8e1..7c647f61 100644 --- a/tests/CSSLayoutDefaultValuesTest.cpp +++ b/tests/CSSLayoutDefaultValuesTest.cpp @@ -13,6 +13,9 @@ TEST(CSSLayoutTest, assert_default_values) { const CSSNodeRef root = CSSNodeNew(); + ASSERT_EQ(0, CSSNodeChildCount(root)); + ASSERT_EQ(NULL, CSSNodeGetChild(root, 1)); + ASSERT_EQ(CSSDirectionInherit, CSSNodeStyleGetDirection(root)); ASSERT_EQ(CSSFlexDirectionColumn, CSSNodeStyleGetFlexDirection(root)); ASSERT_EQ(CSSJustifyFlexStart, CSSNodeStyleGetJustifyContent(root));