    void doubleDotsInPath() {
        BAD_DOUBLE_DOT_PATTERNS.forEach(pattern -> assertProhibited(pattern));
        GOOD_DOUBLE_DOT_PATTERNS.forEach(pattern -> {
            final String path = pattern.startsWith("/") ? pattern : '/' + pattern;
            final PathAndQuery res = parse(path);
            assertThat(res).as("Ensure %s is allowed.", path).isNotNull();
            assertThat(res.path()).as("Ensure %s is parsed as-is.", path).isEqualTo(path);
        });
    }
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.