From 99fb8a00d2fa986ee0a62347863fdc1e53e99ffc Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Tue, 7 Jul 2015 15:23:29 -0700 Subject: [PATCH] prevent infinite loop that can be caused by double module definitions (#975) --- lib/jsdoc/util/templateHelper.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/jsdoc/util/templateHelper.js b/lib/jsdoc/util/templateHelper.js index b74581a0..31193b56 100644 --- a/lib/jsdoc/util/templateHelper.js +++ b/lib/jsdoc/util/templateHelper.js @@ -759,10 +759,17 @@ exports.getSignatureReturns = function(d, cssClass) { exports.getAncestors = function(data, doclet) { var ancestors = []; var doc = doclet; + var previousDoc; while (doc) { + previousDoc = doc; doc = find(data, {longname: doc.memberof})[0]; + // prevent infinite loop that can be caused by duplicated module definitions + if (previousDoc === doc) { + break; + } + if (doc) { ancestors.unshift(doc); }