readdirSyncRecursive: follow symlinks only if we haven't read the destination yet #87

Open
theosp wants to merge 1 commit from theosp/readdirSyncRecursive-symlink-loop-bugfix into master

View file

@ -23,7 +23,14 @@ var fs = require("fs"),
exports.readdirSyncRecursive = function(baseDir) { exports.readdirSyncRecursive = function(baseDir) {
baseDir = baseDir.replace(/\/$/, ''); baseDir = baseDir.replace(/\/$/, '');
var checkedInodes = {};
var readdirSyncRecursive = function(baseDir) { var readdirSyncRecursive = function(baseDir) {
var inode = fs.statSync(baseDir).ino;
if (inode in checkedInodes) {
return [];
}
checkedInodes[inode] = true;
var files = [], var files = [],
curFiles, curFiles,
nextDirs, nextDirs,