From: Tom Lane Date: Fri, 14 May 2010 00:32:21 +0000 (+0000) Subject: Get rid of unsafe sprintf and snprintf usages. Per compiler warnings. X-Git-Tag: REL9_0_BETA2~120 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8eac39780d5bfab5f51274081094e1913ecf4722;p=postgresql Get rid of unsafe sprintf and snprintf usages. Per compiler warnings. --- diff --git a/contrib/pg_upgrade/controldata.c b/contrib/pg_upgrade/controldata.c index ccf7a36c9d..78d62c76f4 100644 --- a/contrib/pg_upgrade/controldata.c +++ b/contrib/pg_upgrade/controldata.c @@ -62,10 +62,10 @@ get_control_data(migratorContext *ctx, ClusterInfo *cluster, bool live_check) #else SetEnvironmentVariableA("LANG", "C"); #endif - sprintf(cmd, SYSTEMQUOTE "\"%s/%s \"%s\"" SYSTEMQUOTE, - cluster->bindir, - live_check ? "pg_controldata\"" : "pg_resetxlog\" -n", - cluster->pgdata); + snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/%s \"%s\"" SYSTEMQUOTE, + cluster->bindir, + live_check ? "pg_controldata\"" : "pg_resetxlog\" -n", + cluster->pgdata); fflush(stdout); fflush(stderr); diff --git a/contrib/pg_upgrade/info.c b/contrib/pg_upgrade/info.c index 2b0bba6170..75a29e3d8f 100644 --- a/contrib/pg_upgrade/info.c +++ b/contrib/pg_upgrade/info.c @@ -362,10 +362,10 @@ get_rel_infos(migratorContext *ctx, const DbInfo *dbinfo, curr->reloid = atol(PQgetvalue(res, relnum, i_oid)); nspname = PQgetvalue(res, relnum, i_nspname); - snprintf(curr->nspname, sizeof(curr->nspname), nspname); + strlcpy(curr->nspname, nspname, sizeof(curr->nspname)); relname = PQgetvalue(res, relnum, i_relname); - snprintf(curr->relname, sizeof(curr->relname), relname); + strlcpy(curr->relname, relname, sizeof(curr->relname)); curr->relfilenode = atol(PQgetvalue(res, relnum, i_relfilenode)); curr->toastrelid = atol(PQgetvalue(res, relnum, i_reltoastrelid)); @@ -374,7 +374,7 @@ get_rel_infos(migratorContext *ctx, const DbInfo *dbinfo, /* if no table tablespace, use the database tablespace */ if (strlen(tblspace) == 0) tblspace = dbinfo->db_tblspace; - snprintf(curr->tablespace, sizeof(curr->tablespace), "%s", tblspace); + strlcpy(curr->tablespace, tblspace, sizeof(curr->tablespace)); } PQclear(res); diff --git a/contrib/pg_upgrade/server.c b/contrib/pg_upgrade/server.c index 15f4c5f07f..96a72b6876 100644 --- a/contrib/pg_upgrade/server.c +++ b/contrib/pg_upgrade/server.c @@ -178,10 +178,11 @@ start_postmaster(migratorContext *ctx, Cluster whichCluster, bool quiet) } /* use -l for Win32 */ - sprintf(cmd, SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" " - "-o \"-p %d -c autovacuum=off -c autovacuum_freeze_max_age=2000000000\" " - "start >> \"%s\" 2>&1" SYSTEMQUOTE, - bindir, ctx->logfile, datadir, port, ctx->logfile); + snprintf(cmd, sizeof(cmd), + SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" " + "-o \"-p %d -c autovacuum=off -c autovacuum_freeze_max_age=2000000000\" " + "start >> \"%s\" 2>&1" SYSTEMQUOTE, + bindir, ctx->logfile, datadir, port, ctx->logfile); exec_prog(ctx, true, "%s", cmd); /* wait for the server to start properly */