• Noah Misch's avatar
    Field conninfo strings throughout src/bin/scripts. · c4007171
    Noah Misch authored
    These programs nominally accepted conninfo strings, but they would
    proceed to use the original dbname parameter as though it were an
    unadorned database name.  This caused "reindexdb dbname=foo" to issue an
    SQL command that always failed, and other programs printed a conninfo
    string in error messages that purported to print a database name.  Fix
    both problems by using PQdb() to retrieve actual database names.
    Continue to print the full conninfo string when reporting a connection
    failure.  It is informative there, and if the database name is the sole
    problem, the server-side error message will include the name.  Beyond
    those user-visible fixes, this allows a subsequent commit to synthesize
    and use conninfo strings without that implementation detail leaking into
    messages.  As a side effect, the "vacuuming database" message now
    appears after, not before, the connection attempt.  Back-patch to 9.1
    (all supported versions).
    
    Reviewed by Michael Paquier and Peter Eisentraut.
    
    Security: CVE-2016-5424
    c4007171
createlang.c 6.54 KB