Re: drop tablespace failed when location contains .. on win32

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: "wangsh(dot)fnst(at)fujitsu(dot)com" <wangsh(dot)fnst(at)fujitsu(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: drop tablespace failed when location contains .. on win32
Date: 2021-09-09 03:44:45
Message-ID: YTmDLXnd10Uf2n5H@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Sep 09, 2021 at 02:35:52AM +0000, wangsh(dot)fnst(at)fujitsu(dot)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.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2021-09-09 03:58:23 Re: Add jsonlog log_destination for JSON server logs
Previous Message Greg Stark 2021-09-09 02:58:51 Re: Add jsonlog log_destination for JSON server logs