Re: Patch: initdb: "'" for QUOTE_PATH (non-windows) - Mailing list pgsql-hackers

From Ryan Murphy
Subject Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)
Date
Msg-id CAHeEsBeb_rXt3z5KyNbT1BEihjX28EFrCXA48MDDSPExOZxqhw@mail.gmail.com
Whole thread Raw
In response to Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)  (Andres Freund <andres@anarazel.de>)
Responses Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
> I think that's actually a good thing to forbid.

I think I agree Andres, there are already comments in the appendShellString function to this effect - they say that CR/LF chars in a file name are mostly used for malicious hacking attempts anyways - I know I've hardly ever needed a newline in a file name.

Did you see anything else in my code that you have recommendations about?  I made sure to free the PQExpBufferStr vars that I allocated.

Best,
Ryan

On Wed, Aug 17, 2016 at 7:41 PM, Andres Freund <andres@anarazel.de> wrote:
On 2016-08-18 09:14:44 +0900, Michael Paquier wrote:
> On Thu, Aug 18, 2016 at 12:21 AM, Ryan Murphy <ryanfmurphy@gmail.com> wrote:
> > I have created a better patch (attached) that correctly escapes the shell
> > arguments using PQExpBufferStr and the appendShellString function, as per
> > Michael and Andres' suggestions.
> >
> > Further suggestions welcome of course.
>
> As far as I know, it is perfectly possible to have LF/CR in a path
> name (that's bad practice btw...), and your patch would make initdb
> fail in such cases. Do we want to authorize that?

I think that's actually a good thing to forbid.

pgsql-hackers by date:

Previous
From: Joshua Bay
Date:
Subject: Re: Way to access LSN (for each transaction) by directly talking to postgres?
Next
From: Peter Eisentraut
Date:
Subject: Re: Add -c to rsync commands on SR tutorial wiki page