From ae5ee2926d8d413f489b32dd6c68451fce698bdd Mon Sep 17 00:00:00 2001 From: Li Tan Date: Thu, 12 Feb 2015 13:56:28 -0800 Subject: [PATCH] Add assertion to avoid inserting elements that is out of range --- AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.mm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.mm b/AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.mm index aeca317dbe..deb3a411dc 100644 --- a/AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.mm +++ b/AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.mm @@ -71,6 +71,8 @@ void ASInsertElementsIntoMultidimensionalArrayAtIndexPaths(NSMutableArray *mutab [arr insertObjects:[elements subarrayWithRange:NSMakeRange(idx - indexSet.count, indexSet.count)] atIndexes:indexSet]; }); + + ASDisplayNodeCAssert(curIdx == indexPaths.count, @"Indexpth is out of range"); } void ASDeleteElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutableArray, NSArray *indexPaths) { @@ -84,6 +86,8 @@ void ASDeleteElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutable ASRecursivelyUpdateMultidimensionalArrayAtIndexPaths(mutableArray, indexPaths, curIdx, indexPath, [indexPaths[0] length], ^(NSMutableArray *arr, NSIndexSet *indexSet, NSUInteger idx) { [arr removeObjectsAtIndexes:indexSet]; }); + + ASDisplayNodeCAssert(curIdx == indexPaths.count, @"Indexpth is out of range"); } NSArray *ASFindElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutableArray, NSArray *indexPaths) { @@ -99,6 +103,8 @@ NSArray *ASFindElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutab [deletedElements addObjectsFromArray:[arr objectsAtIndexes:indexSet]]; }); + ASDisplayNodeCAssert(curIdx == indexPaths.count, @"Indexpth is out of range"); + return deletedElements; }