1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-07 11:02:12 +03:00

Promote pg_dumpall shell/connstr quoting functions to src/fe_utils.

Rename these newly-extern functions with terms more typical of their new
neighbors.  No functional changes; a subsequent commit will use them in
more places.  Back-patch to 9.1 (all supported versions).  Back branches
lack src/fe_utils, so instead rename the functions in place; the
subsequent commit will copy them into the other programs using them.

Security: CVE-2016-5424
This commit is contained in:
Noah Misch 2016-08-08 10:07:46 -04:00
parent 395d565ac7
commit c1b048f498

View File

@ -49,8 +49,8 @@ static void makeAlterConfigCommand(PGconn *conn, const char *arrayitem,
const char *name2); const char *name2);
static void dumpDatabases(PGconn *conn); static void dumpDatabases(PGconn *conn);
static void dumpTimestamp(char *msg); static void dumpTimestamp(char *msg);
static void doShellQuoting(PQExpBuffer buf, const char *str); static void appendShellString(PQExpBuffer buf, const char *str);
static void doConnStrQuoting(PQExpBuffer buf, const char *str); static void appendConnStrVal(PQExpBuffer buf, const char *str);
static int runPgDump(const char *dbname); static int runPgDump(const char *dbname);
static void buildShSecLabels(PGconn *conn, const char *catalog_name, static void buildShSecLabels(PGconn *conn, const char *catalog_name,
@ -213,7 +213,7 @@ main(int argc, char *argv[])
case 'f': case 'f':
filename = pg_strdup(optarg); filename = pg_strdup(optarg);
appendPQExpBuffer(pgdumpopts, " -f "); appendPQExpBuffer(pgdumpopts, " -f ");
doShellQuoting(pgdumpopts, filename); appendShellString(pgdumpopts, filename);
break; break;
case 'g': case 'g':
@ -254,7 +254,7 @@ main(int argc, char *argv[])
case 'S': case 'S':
appendPQExpBuffer(pgdumpopts, " -S "); appendPQExpBuffer(pgdumpopts, " -S ");
doShellQuoting(pgdumpopts, optarg); appendShellString(pgdumpopts, optarg);
break; break;
case 't': case 't':
@ -290,13 +290,13 @@ main(int argc, char *argv[])
case 2: case 2:
appendPQExpBuffer(pgdumpopts, " --lock-wait-timeout "); appendPQExpBuffer(pgdumpopts, " --lock-wait-timeout ");
doShellQuoting(pgdumpopts, optarg); appendShellString(pgdumpopts, optarg);
break; break;
case 3: case 3:
use_role = pg_strdup(optarg); use_role = pg_strdup(optarg);
appendPQExpBuffer(pgdumpopts, " --role "); appendPQExpBuffer(pgdumpopts, " --role ");
doShellQuoting(pgdumpopts, use_role); appendShellString(pgdumpopts, use_role);
break; break;
default: default:
@ -1699,9 +1699,9 @@ runPgDump(const char *dbname)
* string. * string.
*/ */
appendPQExpBuffer(connstrbuf, "%s dbname=", connstr); appendPQExpBuffer(connstrbuf, "%s dbname=", connstr);
doConnStrQuoting(connstrbuf, dbname); appendConnStrVal(connstrbuf, dbname);
doShellQuoting(cmd, connstrbuf->data); appendShellString(cmd, connstrbuf->data);
appendPQExpBuffer(cmd, "%s", SYSTEMQUOTE); appendPQExpBuffer(cmd, "%s", SYSTEMQUOTE);
@ -1983,7 +1983,7 @@ constructConnStr(const char **keywords, const char **values)
appendPQExpBufferChar(buf, ' '); appendPQExpBufferChar(buf, ' ');
firstkeyword = false; firstkeyword = false;
appendPQExpBuffer(buf, "%s=", keywords[i]); appendPQExpBuffer(buf, "%s=", keywords[i]);
doConnStrQuoting(buf, values[i]); appendConnStrVal(buf, values[i]);
} }
connstr = pg_strdup(buf->data); connstr = pg_strdup(buf->data);
@ -2076,7 +2076,7 @@ dumpTimestamp(char *msg)
* string * string
*/ */
static void static void
doConnStrQuoting(PQExpBuffer buf, const char *str) appendConnStrVal(PQExpBuffer buf, const char *str)
{ {
const char *s; const char *s;
bool needquotes; bool needquotes;
@ -2125,7 +2125,7 @@ doConnStrQuoting(PQExpBuffer buf, const char *str)
* there eventually leads to errors here. * there eventually leads to errors here.
*/ */
static void static void
doShellQuoting(PQExpBuffer buf, const char *str) appendShellString(PQExpBuffer buf, const char *str)
{ {
const char *p; const char *p;