    private static void assertQueryStringAllowed(String rawPath, String expectedQuery) {
        final PathAndQuery res = parse(rawPath);
        assertThat(res)
                .as("parse(\"%s\") must return non-null.", rawPath)
                .isNotNull();
        assertThat(res.query())
                .as("parse(\"%s\").query() must return \"%s\".", rawPath, expectedQuery)
                .isEqualTo(expectedQuery);
    }
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.