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

From Michael Paquier
Subject Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)
Date
Msg-id CAB7nPqSnfQDt-NfiWeF1BO9Sjy4+PM56=TiPqnEwYqv8J5xPbA@mail.gmail.com
Whole thread Raw
In response to Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)  (Ryan Murphy <ryanfmurphy@gmail.com>)
Responses Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)  (Ryan Murphy <ryanfmurphy@gmail.com>)
Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
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? If we bypass the
error checks in appendShellString with an extra option, and have
initdb use that, the generated command would be actually correct.
-- 
Michael



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: CLUSTER, reform_and_rewrite_tuple(), and parallelism
Next
From: Andres Freund
Date:
Subject: Re: CLUSTER, reform_and_rewrite_tuple(), and parallelism