function path_f ($path = '')
{
    global $home_dir;
    $abs_dir = $home_dir;
    switch ($path)
    {
        case '.':
        case '': return realpath($abs_dir);
    }
    
    return realpath(realpath($home_dir) . "/$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.