Re: drop tablespace failed when location contains .. on win32 - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: drop tablespace failed when location contains .. on win32
Date
Msg-id 5dc0799e-82ab-cc86-6dc6-915412f2585a@dunslane.net
Whole thread Raw
In response to Re: drop tablespace failed when location contains .. on win32  (Michael Paquier <michael@paquier.xyz>)
Responses RE: drop tablespace failed when location contains .. on win32
List pgsql-hackers
On 9/8/21 11:44 PM, Michael Paquier wrote:
> On Thu, Sep 09, 2021 at 02:35:52AM +0000, wangsh.fnst@fujitsu.com wrote:
>> Do you mean changing the action of canonicalize_path(), like remove all the (..) ?
>>
>> I'm willing to fix this problem.
> Looking at canonicalize_path(), we have already some logic around
> pending_strips to remove paths when we find a "/.." in the path, so
> that's a matter of adjusting this area to trim properly the previous
> directory.
>
> On *nix platforms, we don't apply this much caution either, say a
> simple /tmp/path/../path/ results in this same path used in the link
> from pg_tblspc.  But we are speaking about Windows here, and junction
> points.
>
> Based on the lack of complains over the years, that does not seem
> really worth backpatching.  Just my 2c on this point.



Maybe, although it's arguably a bug.


I think I would say that we should remove any "." or ".." element in the
path except at the beginning, and in the case of ".." also remove the
preceding element, unless someone can convince me that there's a problem
with that.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Why does bootstrap and later initdb stages happen via client?
Next
From: Peter Eisentraut
Date:
Subject: Re: create table like: ACCESS METHOD