    public static String decodePathParam(String pathParam) {
        if (pathParam.indexOf('%') < 0) {
            // No need to decode because it's not percent-encoded
            return pathParam;
        }

        // Decode percent-encoded characters.
        return slowDecodePath(pathParam, true);
    }
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.