Get rid of unsafe sprintf and snprintf usages. Per compiler warnings.

This commit is contained in:
Tom Lane 2010-05-14 00:32:21 +00:00
parent adf6b8edfb
commit 8eac39780d
3 changed files with 12 additions and 11 deletions

View File

@ -62,7 +62,7 @@ get_control_data(migratorContext *ctx, ClusterInfo *cluster, bool live_check)
#else
SetEnvironmentVariableA("LANG", "C");
#endif
sprintf(cmd, SYSTEMQUOTE "\"%s/%s \"%s\"" SYSTEMQUOTE,
snprintf(cmd, sizeof(cmd), SYSTEMQUOTE "\"%s/%s \"%s\"" SYSTEMQUOTE,
cluster->bindir,
live_check ? "pg_controldata\"" : "pg_resetxlog\" -n",
cluster->pgdata);

View File

@ -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);

View File

@ -178,7 +178,8 @@ start_postmaster(migratorContext *ctx, Cluster whichCluster, bool quiet)
}
/* use -l for Win32 */
sprintf(cmd, SYSTEMQUOTE "\"%s/pg_ctl\" -l \"%s\" -D \"%s\" "
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);