On Wed, Aug 31, 2016 at 2:15 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Michael Paquier <michael.paqu...@gmail.com> writes: >> And with an actual patch things are better. > > Working through this patch, it suddenly strikes me that we are going > about fixing the callers of simple_prompt the wrong way. The existing > definition with returning a malloc'd string creates a hazard of malloc > failure, and it *also* creates a hazard of not remembering to free the > result.
Yes, this cleanup was part of the candidate patch of this thread as well. > Moreover, there are almost no callers that want a max result > longer than ~100 bytes. True, there is basically one such caller, psql, with 4096 bytes. > Seems like it would be a whole lot easier all > around to make the caller supply the buffer, ie typical call would be > roughly > > char buf; > > simple_prompt("Password: ", buf, sizeof(buf), false); > > Callers that want to deal with a malloc'd buffer (all one of them, looks > like) can do it themselves, for basically only one more line than is > needed now. Yes, that's possible as well and I thought about doing so, but I found the buffer allocated from within simple_prompt clearer when hacking this part. By the way, I just reviewed 9daec77e that you pushed instead and that looks fine to me. Thanks! -- Michael -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers