• Tom Lane's avatar
    Don't try to trim "../" in join_path_components(). · 85254199
    Tom Lane authored
    join_path_components() tried to remove leading ".." components from its
    tail argument, but it was not nearly bright enough to do so correctly
    unless the head argument was (a) absolute and (b) canonicalized.
    Rather than try to fix that logic, let's just get rid of it: there is no
    correctness reason to remove "..", and cosmetic concerns can be taken
    care of by a subsequent canonicalize_path() call.  Per bug #6715 from
    Greg Davidson.
    
    Back-patch to all supported branches.  It appears that pre-9.2, this
    function is only used with absolute paths as head arguments, which is why
    we'd not noticed the breakage before.  However, third-party code might be
    expecting this function to work in more general cases, so it seems wise
    to back-patch.
    
    In HEAD and 9.2, also make some minor cosmetic improvements to callers.
    85254199
initdb.c 82.3 KB