From ba5b9c0af3d66a89b403edd05d94bc0470d84fea Mon Sep 17 00:00:00 2001 From: Andrew Clark Date: Tue, 31 Jan 2017 11:35:10 -0800 Subject: [PATCH] Add invariant Defensive coding to prevent an infinite loop. --- src/renderers/shared/fiber/ReactFiberTreeReflection.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/renderers/shared/fiber/ReactFiberTreeReflection.js b/src/renderers/shared/fiber/ReactFiberTreeReflection.js index c27f7ee97b..c7a51b036d 100644 --- a/src/renderers/shared/fiber/ReactFiberTreeReflection.js +++ b/src/renderers/shared/fiber/ReactFiberTreeReflection.js @@ -168,17 +168,24 @@ function findCurrentFiberUsingSlowPath(fiber : Fiber) : Fiber | null { child = parentB.child; while (child) { if (child === a) { + didFindChild = true; a = parentB; b = parentA; break; } if (child === b) { + didFindChild = true; b = parentB; a = parentA; break; } child = child.sibling; } + invariant( + didFindChild, + 'Child was not found in either parent set. This indicates a bug ' + + 'related to the return pointer.' + ); } }