Promote pg_dumpall shell/connstr quoting functions to src/fe_utils.
authorNoah Misch
Mon, 8 Aug 2016 14:07:46 +0000 (10:07 -0400)
committerNoah Misch
Mon, 8 Aug 2016 14:07:52 +0000 (10:07 -0400)
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

src/bin/pg_dump/pg_dumpall.c

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