    main.resubscribeObjects = function () {
        for (var pattern in main.subscribesObjects) {
            if (main.subscribesObjects.hasOwnProperty(pattern) && main.subscribesObjects[pattern]) {
                main.socket.emit('subscribeObjects', pattern);
            }
        }
    };
The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.