On 19/04/18 09:38, Alvaro Herrera wrote:
> Nikhil Sontakke wrote:
>
>> Intrigued, on digging down further, this is happening because we are
>> not using a long enough buffer to accept the output of "postgres -V"
>> in the find_other_exec() function. In our case, we had used
>> --with-extra-version option with configure which caused the output of
>> "postgres -V" to go a little beyond the current "line" variable size.
>> This caused the strcmp to fail leading to initdb refusing to
>> initialize any data directories at all.
>
> Wow, that seems pretty silly nowadays.
Agreed.
Nitpick: using MAXPGPATH seems for the buffer size seems to wrong to me.
We're not storing a path here. MAXPGPATH is 1024 by default, which seems
fine, but I would've spelled it out directly as "line[1000]".
- Heikki