aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/bootstrap/bootstrap.c3
-rw-r--r--src/backend/libpq/auth.c5
-rw-r--r--src/backend/postmaster/postmaster.c3
-rw-r--r--src/backend/regex/regc_pg_locale.c6
-rw-r--r--src/backend/tcop/postgres.c3
-rw-r--r--src/backend/utils/adt/pg_locale.c30
-rw-r--r--src/backend/utils/error/elog.c3
-rw-r--r--src/backend/utils/init/miscinit.c3
-rw-r--r--src/backend/utils/misc/guc.c24
-rw-r--r--src/bin/pg_basebackup/pg_basebackup.c3
-rw-r--r--src/bin/pg_basebackup/streamutil.c3
-rw-r--r--src/bin/pg_dump/dumputils.c21
-rw-r--r--src/bin/pg_dump/pg_backup_archiver.c60
-rw-r--r--src/bin/pg_dump/pg_backup_custom.c6
-rw-r--r--src/bin/pg_dump/pg_backup_db.c3
-rw-r--r--src/bin/pg_dump/pg_backup_tar.c3
-rw-r--r--src/bin/pg_dump/pg_dump.c30
-rw-r--r--src/bin/pg_dump/pg_dumpall.c6
-rw-r--r--src/bin/pgbench/pgbench.c6
-rw-r--r--src/bin/psql/command.c66
-rw-r--r--src/bin/psql/copy.c3
-rw-r--r--src/bin/psql/describe.c6
-rw-r--r--src/bin/psql/input.c3
-rw-r--r--src/bin/psql/tab-complete.c15
-rw-r--r--src/common/fe_memutils.c3
-rw-r--r--src/fe_utils/connect_utils.c3
-rw-r--r--src/fe_utils/string_utils.c6
-rw-r--r--src/interfaces/ecpg/pgtypeslib/numeric.c6
-rw-r--r--src/interfaces/ecpg/preproc/descriptor.c3
-rw-r--r--src/interfaces/libpq/fe-auth-scram.c33
-rw-r--r--src/interfaces/libpq/fe-auth.c18
-rw-r--r--src/interfaces/libpq/fe-connect.c211
-rw-r--r--src/interfaces/libpq/fe-exec.c6
-rw-r--r--src/interfaces/libpq/fe-print.c23
-rw-r--r--src/interfaces/libpq/fe-secure-common.c3
-rw-r--r--src/port/getaddrinfo.c3
36 files changed, 208 insertions, 424 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index 9a610d41ad7..088556ab54c 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -288,8 +288,7 @@ BootstrapModeMain(int argc, char *argv[], bool check_only)
SetConfigOption(name, value, PGC_POSTMASTER, PGC_S_ARGV);
free(name);
- if (value)
- free(value);
+ free(value);
break;
}
default:
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index efc53f31353..2d9ab7edceb 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -2020,10 +2020,7 @@ pam_passwd_conv_proc(int num_msg, const struct pam_message **msg,
fail:
/* free up whatever we allocated */
for (i = 0; i < num_msg; i++)
- {
- if (reply[i].resp != NULL)
- free(reply[i].resp);
- }
+ free(reply[i].resp);
free(reply);
return PAM_CONV_ERR;
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index dde4bc25b13..d7257e4056b 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -854,8 +854,7 @@ PostmasterMain(int argc, char *argv[])
SetConfigOption(name, value, PGC_POSTMASTER, PGC_S_ARGV);
free(name);
- if (value)
- free(value);
+ free(value);
break;
}
diff --git a/src/backend/regex/regc_pg_locale.c b/src/backend/regex/regc_pg_locale.c
index e1f9df09180..02d462a6597 100644
--- a/src/backend/regex/regc_pg_locale.c
+++ b/src/backend/regex/regc_pg_locale.c
@@ -930,10 +930,8 @@ pg_ctype_get_cache(pg_wc_probefunc probefunc, int cclasscode)
* Failure, clean up
*/
out_of_memory:
- if (pcc->cv.chrs)
- free(pcc->cv.chrs);
- if (pcc->cv.ranges)
- free(pcc->cv.ranges);
+ free(pcc->cv.chrs);
+ free(pcc->cv.ranges);
free(pcc);
return NULL;
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 8b6b5bbaaab..495cbf20060 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -3896,8 +3896,7 @@ process_postgres_switches(int argc, char *argv[], GucContext ctx,
}
SetConfigOption(name, value, ctx, gucsource);
free(name);
- if (value)
- free(value);
+ free(value);
break;
}
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index a0490a75224..ea42e70e43b 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -374,26 +374,16 @@ assign_locale_messages(const char *newval, void *extra)
static void
free_struct_lconv(struct lconv *s)
{
- if (s->decimal_point)
- free(s->decimal_point);
- if (s->thousands_sep)
- free(s->thousands_sep);
- if (s->grouping)
- free(s->grouping);
- if (s->int_curr_symbol)
- free(s->int_curr_symbol);
- if (s->currency_symbol)
- free(s->currency_symbol);
- if (s->mon_decimal_point)
- free(s->mon_decimal_point);
- if (s->mon_thousands_sep)
- free(s->mon_thousands_sep);
- if (s->mon_grouping)
- free(s->mon_grouping);
- if (s->positive_sign)
- free(s->positive_sign);
- if (s->negative_sign)
- free(s->negative_sign);
+ free(s->decimal_point);
+ free(s->thousands_sep);
+ free(s->grouping);
+ free(s->int_curr_symbol);
+ free(s->currency_symbol);
+ free(s->mon_decimal_point);
+ free(s->mon_thousands_sep);
+ free(s->mon_grouping);
+ free(s->positive_sign);
+ free(s->negative_sign);
}
/*
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 55ee5423afb..59124bd9ccb 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -1985,8 +1985,7 @@ set_syslog_parameters(const char *ident, int facility)
closelog();
openlog_done = false;
}
- if (syslog_ident)
- free(syslog_ident);
+ free(syslog_ident);
syslog_ident = strdup(ident);
/* if the strdup fails, we will cope in write_syslog() */
syslog_facility = facility;
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index b25bd0e5838..eb43b2c5e57 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -417,8 +417,7 @@ SetDataDir(const char *dir)
/* If presented path is relative, convert to absolute */
new = make_absolute_path(dir);
- if (DataDir)
- free(DataDir);
+ free(DataDir);
DataDir = new;
}
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index f640468f113..0328029d430 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -5483,8 +5483,7 @@ build_guc_variables(void)
for (i = 0; ConfigureNamesEnum[i].gen.name; i++)
guc_vars[num_vars++] = &ConfigureNamesEnum[i].gen;
- if (guc_variables)
- free(guc_variables);
+ free(guc_variables);
guc_variables = guc_vars;
num_guc_variables = num_vars;
size_guc_variables = size_vars;
@@ -6880,8 +6879,7 @@ ReportGUCOption(struct config_generic *record)
* set last_reported to NULL and thereby possibly make a duplicate
* report later.
*/
- if (record->last_reported)
- free(record->last_reported);
+ free(record->last_reported);
record->last_reported = strdup(val);
}
@@ -8356,8 +8354,7 @@ set_config_sourcefile(const char *name, char *sourcefile, int sourceline)
return;
sourcefile = guc_strdup(elevel, sourcefile);
- if (record->sourcefile)
- free(record->sourcefile);
+ free(record->sourcefile);
record->sourcefile = sourcefile;
record->sourceline = sourceline;
}
@@ -8877,8 +8874,7 @@ AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt)
if (record->vartype == PGC_STRING && newval.stringval != NULL)
free(newval.stringval);
- if (newextra)
- free(newextra);
+ free(newextra);
/*
* We must also reject values containing newlines, because the
@@ -11225,12 +11221,9 @@ RestoreGUCState(void *gucstate)
* pointers.
*/
Assert(gconf->stack == NULL);
- if (gconf->extra)
- free(gconf->extra);
- if (gconf->last_reported) /* probably can't happen */
- free(gconf->last_reported);
- if (gconf->sourcefile)
- free(gconf->sourcefile);
+ free(gconf->extra);
+ free(gconf->last_reported);
+ free(gconf->sourcefile);
switch (gconf->vartype)
{
case PGC_BOOL:
@@ -11261,8 +11254,7 @@ RestoreGUCState(void *gucstate)
{
struct config_string *conf = (struct config_string *) gconf;
- if (*conf->variable)
- free(*conf->variable);
+ free(*conf->variable);
if (conf->reset_val && conf->reset_val != *conf->variable)
free(conf->reset_val);
if (conf->reset_extra && conf->reset_extra != gconf->extra)
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index 4adb170d464..b66eac707a4 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -775,8 +775,7 @@ progress_update_filename(const char *filename)
/* We needn't maintain this variable if not doing verbose reports. */
if (showprogress && verbose)
{
- if (progress_filename)
- free(progress_filename);
+ free(progress_filename);
if (filename)
progress_filename = pg_strdup(filename);
else
diff --git a/src/bin/pg_basebackup/streamutil.c b/src/bin/pg_basebackup/streamutil.c
index 299b9b76213..8e820c0c71c 100644
--- a/src/bin/pg_basebackup/streamutil.c
+++ b/src/bin/pg_basebackup/streamutil.c
@@ -154,8 +154,7 @@ GetConnection(void)
/* Get a new password if appropriate */
if (need_password)
{
- if (password)
- free(password);
+ free(password);
password = simple_prompt("Password: ", false);
need_password = false;
}
diff --git a/src/bin/pg_dump/dumputils.c b/src/bin/pg_dump/dumputils.c
index 3e68dfc78f9..6e501a54138 100644
--- a/src/bin/pg_dump/dumputils.c
+++ b/src/bin/pg_dump/dumputils.c
@@ -98,18 +98,15 @@ buildACLCommands(const char *name, const char *subname, const char *nspname,
/* Parse the acls array */
if (!parsePGArray(acls, &aclitems, &naclitems))
{
- if (aclitems)
- free(aclitems);
+ free(aclitems);
return false;
}
/* Parse the baseacls too */
if (!parsePGArray(baseacls, &baseitems, &nbaseitems))
{
- if (aclitems)
- free(aclitems);
- if (baseitems)
- free(baseitems);
+ free(aclitems);
+ free(baseitems);
return false;
}
@@ -298,14 +295,10 @@ buildACLCommands(const char *name, const char *subname, const char *nspname,
destroyPQExpBuffer(firstsql);
destroyPQExpBuffer(secondsql);
- if (aclitems)
- free(aclitems);
- if (baseitems)
- free(baseitems);
- if (grantitems)
- free(grantitems);
- if (revokeitems)
- free(revokeitems);
+ free(aclitems);
+ free(baseitems);
+ free(grantitems);
+ free(revokeitems);
return ok;
}
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index 77fe51a3a53..233198afc0c 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -640,8 +640,7 @@ RestoreArchive(Archive *AHX)
* If we treated users as pg_dump'able objects then we'd need to reset
* currUser here too.
*/
- if (AH->currSchema)
- free(AH->currSchema);
+ free(AH->currSchema);
AH->currSchema = NULL;
}
@@ -2067,8 +2066,7 @@ _discoverArchiveFormat(ArchiveHandle *AH)
pg_log_debug("attempting to ascertain archive format");
- if (AH->lookahead)
- free(AH->lookahead);
+ free(AH->lookahead);
AH->readHeader = 0;
AH->lookaheadSize = 512;
@@ -3178,21 +3176,17 @@ _reconnectToDB(ArchiveHandle *AH, const char *dbname)
* NOTE: currUser keeps track of what the imaginary session user in our
* script is. It's now effectively reset to the original userID.
*/
- if (AH->currUser)
- free(AH->currUser);
+ free(AH->currUser);
AH->currUser = NULL;
/* don't assume we still know the output schema, tablespace, etc either */
- if (AH->currSchema)
- free(AH->currSchema);
+ free(AH->currSchema);
AH->currSchema = NULL;
- if (AH->currTableAm)
- free(AH->currTableAm);
+ free(AH->currTableAm);
AH->currTableAm = NULL;
- if (AH->currTablespace)
- free(AH->currTablespace);
+ free(AH->currTablespace);
AH->currTablespace = NULL;
/* re-establish fixed state */
@@ -3219,8 +3213,7 @@ _becomeUser(ArchiveHandle *AH, const char *user)
* NOTE: currUser keeps track of what the imaginary session user in our
* script is
*/
- if (AH->currUser)
- free(AH->currUser);
+ free(AH->currUser);
AH->currUser = pg_strdup(user);
}
@@ -3285,8 +3278,7 @@ _selectOutputSchema(ArchiveHandle *AH, const char *schemaName)
else
ahprintf(AH, "%s;\n\n", qry->data);
- if (AH->currSchema)
- free(AH->currSchema);
+ free(AH->currSchema);
AH->currSchema = pg_strdup(schemaName);
destroyPQExpBuffer(qry);
@@ -3347,8 +3339,7 @@ _selectTablespace(ArchiveHandle *AH, const char *tablespace)
else
ahprintf(AH, "%s;\n\n", qry->data);
- if (AH->currTablespace)
- free(AH->currTablespace);
+ free(AH->currTablespace);
AH->currTablespace = pg_strdup(want);
destroyPQExpBuffer(qry);
@@ -3399,8 +3390,7 @@ _selectTableAccessMethod(ArchiveHandle *AH, const char *tableam)
destroyPQExpBuffer(cmd);
- if (AH->currTableAm)
- free(AH->currTableAm);
+ free(AH->currTableAm);
AH->currTableAm = pg_strdup(want);
}
@@ -3659,8 +3649,7 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, bool isData)
*/
if (_tocEntryIsACL(te))
{
- if (AH->currUser)
- free(AH->currUser);
+ free(AH->currUser);
AH->currUser = NULL;
}
}
@@ -3991,17 +3980,13 @@ restore_toc_entries_prefork(ArchiveHandle *AH, TocEntry *pending_list)
DisconnectDatabase(&AH->public);
/* blow away any transient state from the old connection */
- if (AH->currUser)
- free(AH->currUser);
+ free(AH->currUser);
AH->currUser = NULL;
- if (AH->currSchema)
- free(AH->currSchema);
+ free(AH->currSchema);
AH->currSchema = NULL;
- if (AH->currTablespace)
- free(AH->currTablespace);
+ free(AH->currTablespace);
AH->currTablespace = NULL;
- if (AH->currTableAm)
- free(AH->currTableAm);
+ free(AH->currTableAm);
AH->currTableAm = NULL;
}
@@ -4842,16 +4827,11 @@ DeCloneArchive(ArchiveHandle *AH)
destroyPQExpBuffer(AH->sqlparse.curCmd);
/* Clear any connection-local state */
- if (AH->currUser)
- free(AH->currUser);
- if (AH->currSchema)
- free(AH->currSchema);
- if (AH->currTablespace)
- free(AH->currTablespace);
- if (AH->currTableAm)
- free(AH->currTableAm);
- if (AH->savedPassword)
- free(AH->savedPassword);
+ free(AH->currUser);
+ free(AH->currSchema);
+ free(AH->currTablespace);
+ free(AH->currTableAm);
+ free(AH->savedPassword);
free(AH);
}
diff --git a/src/bin/pg_dump/pg_backup_custom.c b/src/bin/pg_dump/pg_backup_custom.c
index 3443eef6b0e..1023fea01b2 100644
--- a/src/bin/pg_dump/pg_backup_custom.c
+++ b/src/bin/pg_dump/pg_backup_custom.c
@@ -632,8 +632,7 @@ _skipData(ArchiveHandle *AH)
{
if (blkLen > buflen)
{
- if (buf)
- free(buf);
+ free(buf);
buf = (char *) pg_malloc(blkLen);
buflen = blkLen;
}
@@ -649,8 +648,7 @@ _skipData(ArchiveHandle *AH)
blkLen = ReadInt(AH);
}
- if (buf)
- free(buf);
+ free(buf);
}
/*
diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c
index 89cdbf80e0e..28baa68fd4e 100644
--- a/src/bin/pg_dump/pg_backup_db.c
+++ b/src/bin/pg_dump/pg_backup_db.c
@@ -204,8 +204,7 @@ ConnectDatabase(Archive *AHX,
*/
if (PQconnectionUsedPassword(AH->connection))
{
- if (AH->savedPassword)
- free(AH->savedPassword);
+ free(AH->savedPassword);
AH->savedPassword = pg_strdup(PQpass(AH->connection));
}
diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c
index 39d71badb7b..bfc49b66d2c 100644
--- a/src/bin/pg_dump/pg_backup_tar.c
+++ b/src/bin/pg_dump/pg_backup_tar.c
@@ -412,8 +412,7 @@ tarClose(ArchiveHandle *AH, TAR_MEMBER *th)
* handle, and we don't use temp files.
*/
- if (th->targetFile)
- free(th->targetFile);
+ free(th->targetFile);
th->nFH = NULL;
}
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 7cc9c72e492..c871cb727d1 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -3339,8 +3339,7 @@ dumpSearchPath(Archive *AH)
/* Also save it in AH->searchpath, in case we're doing plain text dump */
AH->searchpath = pg_strdup(qry->data);
- if (schemanames)
- free(schemanames);
+ free(schemanames);
PQclear(res);
destroyPQExpBuffer(qry);
destroyPQExpBuffer(path);
@@ -4614,8 +4613,7 @@ dumpSubscription(Archive *fout, const SubscriptionInfo *subinfo)
subinfo->dobj.catId, 0, subinfo->dobj.dumpId);
destroyPQExpBuffer(publications);
- if (pubnames)
- free(pubnames);
+ free(pubnames);
destroyPQExpBuffer(delq);
destroyPQExpBuffer(query);
@@ -11908,12 +11906,10 @@ dumpFunc(Archive *fout, const FuncInfo *finfo)
destroyPQExpBuffer(delqry);
destroyPQExpBuffer(asPart);
free(funcsig);
- if (funcfullsig)
- free(funcfullsig);
+ free(funcfullsig);
free(funcsig_tag);
free(qual_funcsig);
- if (configitems)
- free(configitems);
+ free(configitems);
}
@@ -13658,8 +13654,7 @@ dumpAgg(Archive *fout, const AggInfo *agginfo)
agginfo->aggfn.rolname, &agginfo->aggfn.dacl);
free(aggsig);
- if (aggfullsig)
- free(aggfullsig);
+ free(aggfullsig);
free(aggsig_tag);
PQclear(res);
@@ -15713,12 +15708,9 @@ dumpTableSchema(Archive *fout, const TableInfo *tbinfo)
tbinfo->attfdwoptions[j]);
} /* end loop over columns */
- if (partkeydef)
- free(partkeydef);
- if (ftoptions)
- free(ftoptions);
- if (srvname)
- free(srvname);
+ free(partkeydef);
+ free(ftoptions);
+ free(srvname);
}
/*
@@ -16105,10 +16097,8 @@ dumpIndex(Archive *fout, const IndxInfo *indxinfo)
.createStmt = q->data,
.dropStmt = delq->data));
- if (indstatcolsarray)
- free(indstatcolsarray);
- if (indstatvalsarray)
- free(indstatvalsarray);
+ free(indstatcolsarray);
+ free(indstatvalsarray);
}
/* Dump Index Comments */
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index ae41a652d79..da5cf85272c 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -1500,10 +1500,8 @@ connectDatabase(const char *dbname, const char *connection_string,
char *err_msg = NULL;
int i = 0;
- if (keywords)
- free(keywords);
- if (values)
- free(values);
+ free(keywords);
+ free(values);
if (conn_opts)
PQconninfoFree(conn_opts);
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 89b59a4ff66..bcaea8f5ea2 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -1852,8 +1852,7 @@ putVariable(Variables *variables, const char *context, char *name,
/* dup then free, in case value is pointing at this variable */
val = pg_strdup(value);
- if (var->svalue)
- free(var->svalue);
+ free(var->svalue);
var->svalue = val;
var->value.type = PGBT_NO_VALUE;
@@ -1872,8 +1871,7 @@ putVariableValue(Variables *variables, const char *context, char *name,
if (!var)
return false;
- if (var->svalue)
- free(var->svalue);
+ free(var->svalue);
var->svalue = NULL;
var->value = *value;
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 653943b87a6..f3c5196c901 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -595,8 +595,7 @@ exec_command_cd(PsqlScanState scan_state, bool active_branch, const char *cmd)
success = false;
}
- if (opt)
- free(opt);
+ free(opt);
}
else
ignore_slash_options(scan_state);
@@ -769,8 +768,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
break;
}
- if (pattern2)
- free(pattern2);
+ free(pattern2);
}
break;
case 'a':
@@ -881,8 +879,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
OT_NORMAL, NULL, true);
success = listDbRoleSettings(pattern, pattern2);
- if (pattern2)
- free(pattern2);
+ free(pattern2);
}
else
status = PSQL_CMD_UNKNOWN;
@@ -963,8 +960,7 @@ exec_command_d(PsqlScanState scan_state, bool active_branch, const char *cmd)
status = PSQL_CMD_UNKNOWN;
}
- if (pattern)
- free(pattern);
+ free(pattern);
}
else
ignore_slash_options(scan_state);
@@ -1092,10 +1088,8 @@ exec_command_edit(PsqlScanState scan_state, bool active_branch,
else
status = PSQL_CMD_ERROR;
}
- if (fname)
- free(fname);
- if (ln)
- free(ln);
+ free(fname);
+ free(ln);
}
}
else
@@ -1204,8 +1198,7 @@ exec_command_ef_ev(PsqlScanState scan_state, bool active_branch,
status = PSQL_CMD_NEWEDIT;
}
- if (obj_desc)
- free(obj_desc);
+ free(obj_desc);
}
else
ignore_slash_whole_line(scan_state);
@@ -1920,8 +1913,7 @@ exec_command_list(PsqlScanState scan_state, bool active_branch, const char *cmd)
success = listAllDbs(pattern, show_verbose);
- if (pattern)
- free(pattern);
+ free(pattern);
}
else
ignore_slash_options(scan_state);
@@ -2136,10 +2128,8 @@ exec_command_password(PsqlScanState scan_state, bool active_branch)
}
free(user);
- if (pw1)
- free(pw1);
- if (pw2)
- free(pw2);
+ free(pw1);
+ free(pw2);
termPQExpBuffer(&buf);
}
else
@@ -2214,10 +2204,8 @@ exec_command_prompt(PsqlScanState scan_state, bool active_branch,
(result && !SetVariable(pset.vars, opt, result)))
success = false;
- if (result)
- free(result);
- if (prompt_text)
- free(prompt_text);
+ free(result);
+ free(prompt_text);
free(opt);
}
}
@@ -2522,8 +2510,7 @@ exec_command_sf_sv(PsqlScanState scan_state, bool active_branch,
ClosePager(output);
}
- if (obj_desc)
- free(obj_desc);
+ free(obj_desc);
destroyPQExpBuffer(buf);
}
else
@@ -2802,8 +2789,7 @@ exec_command_z(PsqlScanState scan_state, bool active_branch)
OT_NORMAL, NULL, true);
success = permissionsList(pattern);
- if (pattern)
- free(pattern);
+ free(pattern);
}
else
ignore_slash_options(scan_state);
@@ -2853,8 +2839,7 @@ exec_command_slash_command_help(PsqlScanState scan_state, bool active_branch)
else
slashUsage(pset.popt.topt.pager);
- if (opt0)
- free(opt0);
+ free(opt0);
}
else
ignore_slash_options(scan_state);
@@ -2994,8 +2979,7 @@ ignore_slash_filepipe(PsqlScanState scan_state)
char *arg = psql_scan_slash_option(scan_state,
OT_FILEPIPE, NULL, false);
- if (arg)
- free(arg);
+ free(arg);
}
/*
@@ -3011,8 +2995,7 @@ ignore_slash_whole_line(PsqlScanState scan_state)
char *arg = psql_scan_slash_option(scan_state,
OT_WHOLE_LINE, NULL, false);
- if (arg)
- free(arg);
+ free(arg);
}
/*
@@ -4779,16 +4762,11 @@ restorePsetInfo(printQueryOpt *popt, printQueryOpt *save)
/* Free all the old data we're about to overwrite the pointers to. */
/* topt.line_style points to const data that need not be duplicated */
- if (popt->topt.fieldSep.separator)
- free(popt->topt.fieldSep.separator);
- if (popt->topt.recordSep.separator)
- free(popt->topt.recordSep.separator);
- if (popt->topt.tableAttr)
- free(popt->topt.tableAttr);
- if (popt->nullPrint)
- free(popt->nullPrint);
- if (popt->title)
- free(popt->title);
+ free(popt->topt.fieldSep.separator);
+ free(popt->topt.recordSep.separator);
+ free(popt->topt.tableAttr);
+ free(popt->nullPrint);
+ free(popt->title);
/*
* footers and translate_columns are never set in psql's print settings,
diff --git a/src/bin/psql/copy.c b/src/bin/psql/copy.c
index 424a429e1e2..c181682a132 100644
--- a/src/bin/psql/copy.c
+++ b/src/bin/psql/copy.c
@@ -389,8 +389,7 @@ do_copy(const char *args)
pg_log_error("%s: %s", options->file,
reason ? reason : "");
- if (reason)
- free(reason);
+ free(reason);
}
success = false;
}
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index d1ae6991714..2df95bc1654 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -1786,8 +1786,7 @@ describeOneTableDetails(const char *schemaname,
printQuery(res, &myopt, pset.queryFout, false, pset.logfile);
- if (footers[0])
- free(footers[0]);
+ free(footers[0]);
retval = true;
goto error_return; /* not an error, just return early */
@@ -3491,8 +3490,7 @@ error_return:
termPQExpBuffer(&title);
termPQExpBuffer(&tmpbuf);
- if (view_def)
- free(view_def);
+ free(view_def);
if (res)
PQclear(res);
diff --git a/src/bin/psql/input.c b/src/bin/psql/input.c
index 416185d659f..6cc7ddda71e 100644
--- a/src/bin/psql/input.c
+++ b/src/bin/psql/input.c
@@ -158,8 +158,7 @@ pg_send_history(PQExpBuffer history_buf)
else
{
/* Save each previous line for ignoredups processing */
- if (prev_hist)
- free(prev_hist);
+ free(prev_hist);
prev_hist = pg_strdup(s);
/* And send it to readline */
add_history(s);
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index bd44a1d55da..463cac9fb07 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -4754,11 +4754,9 @@ psql_completion(const char *text, int start, int end)
free(previous_words);
free(words_buffer);
free(text_copy);
- if (completion_ref_object)
- free(completion_ref_object);
+ free(completion_ref_object);
completion_ref_object = NULL;
- if (completion_ref_schema)
- free(completion_ref_schema);
+ free(completion_ref_schema);
completion_ref_schema = NULL;
/* Return our Grand List O' Matches */
@@ -5160,12 +5158,9 @@ _complete_from_query(const char *simple_query,
/* Clean up */
termPQExpBuffer(&query_buffer);
free(e_object_like);
- if (e_schemaname)
- free(e_schemaname);
- if (e_ref_object)
- free(e_ref_object);
- if (e_ref_schema)
- free(e_ref_schema);
+ free(e_schemaname);
+ free(e_ref_object);
+ free(e_ref_schema);
}
/* Return the next result, if any, but not if the query failed */
diff --git a/src/common/fe_memutils.c b/src/common/fe_memutils.c
index 21fcce54309..b1e6c655765 100644
--- a/src/common/fe_memutils.c
+++ b/src/common/fe_memutils.c
@@ -104,8 +104,7 @@ pg_strdup(const char *in)
void
pg_free(void *ptr)
{
- if (ptr != NULL)
- free(ptr);
+ free(ptr);
}
/*
diff --git a/src/fe_utils/connect_utils.c b/src/fe_utils/connect_utils.c
index f2e583f9fac..1cc97b72f71 100644
--- a/src/fe_utils/connect_utils.c
+++ b/src/fe_utils/connect_utils.c
@@ -99,8 +99,7 @@ connectDatabase(const ConnParams *cparams, const char *progname,
cparams->prompt_password != TRI_NO)
{
PQfinish(conn);
- if (password)
- free(password);
+ free(password);
password = simple_prompt("Password: ", false);
new_pass = true;
}
diff --git a/src/fe_utils/string_utils.c b/src/fe_utils/string_utils.c
index c3ea4fc1860..f9ea08705af 100644
--- a/src/fe_utils/string_utils.c
+++ b/src/fe_utils/string_utils.c
@@ -810,8 +810,7 @@ appendReloptionsArray(PQExpBuffer buffer, const char *reloptions,
if (!parsePGArray(reloptions, &options, &noptions))
{
- if (options)
- free(options);
+ free(options);
return false;
}
@@ -854,8 +853,7 @@ appendReloptionsArray(PQExpBuffer buffer, const char *reloptions,
appendStringLiteral(buffer, value, encoding, std_strings);
}
- if (options)
- free(options);
+ free(options);
return true;
}
diff --git a/src/interfaces/ecpg/pgtypeslib/numeric.c b/src/interfaces/ecpg/pgtypeslib/numeric.c
index 34efc9045f3..a97b3300cb8 100644
--- a/src/interfaces/ecpg/pgtypeslib/numeric.c
+++ b/src/interfaces/ecpg/pgtypeslib/numeric.c
@@ -16,11 +16,7 @@
#define init_var(v) memset(v,0,sizeof(numeric))
#define digitbuf_alloc(size) ((NumericDigit *) pgtypes_alloc(size))
-#define digitbuf_free(buf) \
- do { \
- if ((buf) != NULL) \
- free(buf); \
- } while (0)
+#define digitbuf_free(buf) free(buf)
/* ----------
diff --git a/src/interfaces/ecpg/preproc/descriptor.c b/src/interfaces/ecpg/preproc/descriptor.c
index 35d94711d56..f4b1878289c 100644
--- a/src/interfaces/ecpg/preproc/descriptor.c
+++ b/src/interfaces/ecpg/preproc/descriptor.c
@@ -113,8 +113,7 @@ drop_descriptor(char *name, char *connection)
&& strcmp(connection, i->connection) == 0))
{
*lastptr = i->next;
- if (i->connection)
- free(i->connection);
+ free(i->connection);
free(i->name);
free(i);
return;
diff --git a/src/interfaces/libpq/fe-auth-scram.c b/src/interfaces/libpq/fe-auth-scram.c
index e6162007041..5012806fa5e 100644
--- a/src/interfaces/libpq/fe-auth-scram.c
+++ b/src/interfaces/libpq/fe-auth-scram.c
@@ -174,30 +174,21 @@ scram_free(void *opaq)
{
fe_scram_state *state = (fe_scram_state *) opaq;
- if (state->password)
- free(state->password);
- if (state->sasl_mechanism)
- free(state->sasl_mechanism);
+ free(state->password);
+ free(state->sasl_mechanism);
/* client messages */
- if (state->client_nonce)
- free(state->client_nonce);
- if (state->client_first_message_bare)
- free(state->client_first_message_bare);
- if (state->client_final_message_without_proof)
- free(state->client_final_message_without_proof);
+ free(state->client_nonce);
+ free(state->client_first_message_bare);
+ free(state->client_final_message_without_proof);
/* first message from server */
- if (state->server_first_message)
- free(state->server_first_message);
- if (state->salt)
- free(state->salt);
- if (state->nonce)
- free(state->nonce);
+ free(state->server_first_message);
+ free(state->salt);
+ free(state->nonce);
/* final message from server */
- if (state->server_final_message)
- free(state->server_final_message);
+ free(state->server_final_message);
free(state);
}
@@ -941,8 +932,7 @@ pg_fe_scram_build_secret(const char *password, const char **errstr)
if (!pg_strong_random(saltbuf, SCRAM_DEFAULT_SALT_LEN))
{
*errstr = _("failed to generate random salt");
- if (prep_password)
- free(prep_password);
+ free(prep_password);
return NULL;
}
@@ -950,8 +940,7 @@ pg_fe_scram_build_secret(const char *password, const char **errstr)
SCRAM_DEFAULT_ITERATIONS, password,
errstr);
- if (prep_password)
- free(prep_password);
+ free(prep_password);
return result;
}
diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c
index 0a072a36dc2..49a1c626f64 100644
--- a/src/interfaces/libpq/fe-auth.c
+++ b/src/interfaces/libpq/fe-auth.c
@@ -107,8 +107,7 @@ pg_GSS_continue(PGconn *conn, int payloadlen)
NULL,
NULL);
- if (ginbuf.value)
- free(ginbuf.value);
+ free(ginbuf.value);
if (goutbuf.length != 0)
{
@@ -270,8 +269,7 @@ pg_SSPI_continue(PGconn *conn, int payloadlen)
NULL);
/* we don't need the input anymore */
- if (inputbuf)
- free(inputbuf);
+ free(inputbuf);
if (r != SEC_E_OK && r != SEC_I_CONTINUE_NEEDED)
{
@@ -604,21 +602,18 @@ pg_SASL_init(PGconn *conn, int payloadlen)
goto error;
termPQExpBuffer(&mechanism_buf);
- if (initialresponse)
- free(initialresponse);
+ free(initialresponse);
return STATUS_OK;
error:
termPQExpBuffer(&mechanism_buf);
- if (initialresponse)
- free(initialresponse);
+ free(initialresponse);
return STATUS_ERROR;
oom_error:
termPQExpBuffer(&mechanism_buf);
- if (initialresponse)
- free(initialresponse);
+ free(initialresponse);
appendPQExpBufferStr(&conn->errorMessage,
libpq_gettext("out of memory\n"));
return STATUS_ERROR;
@@ -831,8 +826,7 @@ pg_password_sendauth(PGconn *conn, const char *password, AuthRequest areq)
return STATUS_ERROR;
}
ret = pqPacketSend(conn, 'p', pwd_to_send, strlen(pwd_to_send) + 1);
- if (crypt_pwd)
- free(crypt_pwd);
+ free(crypt_pwd);
return ret;
}
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 6e936bbff30..057c9da0ede 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -540,8 +540,7 @@ pqFreeCommandQueue(PGcmdQueueEntry *queue)
PGcmdQueueEntry *cur = queue;
queue = cur->next;
- if (cur->query)
- free(cur->query);
+ free(cur->query);
free(cur);
}
}
@@ -593,8 +592,7 @@ pqDropServerData(PGconn *conn)
conn->sversion = 0;
/* Drop large-object lookup data */
- if (conn->lobjfuncs)
- free(conn->lobjfuncs);
+ free(conn->lobjfuncs);
conn->lobjfuncs = NULL;
/* Reset assorted other per-connection state */
@@ -602,8 +600,7 @@ pqDropServerData(PGconn *conn)
conn->auth_req_received = false;
conn->password_needed = false;
conn->write_failed = false;
- if (conn->write_err_msg)
- free(conn->write_err_msg);
+ free(conn->write_err_msg);
conn->write_err_msg = NULL;
conn->be_pid = 0;
conn->be_key = 0;
@@ -898,8 +895,7 @@ fillPGconn(PGconn *conn, PQconninfoOption *connOptions)
{
char **connmember = (char **) ((char *) conn + option->connofs);
- if (*connmember)
- free(*connmember);
+ free(*connmember);
*connmember = strdup(tmp);
if (*connmember == NULL)
{
@@ -1113,8 +1109,7 @@ connectOptions2(PGconn *conn)
}
else
{
- if (ch->host)
- free(ch->host);
+ free(ch->host);
/*
* This bit selects the default host location. If you change
@@ -1186,8 +1181,7 @@ connectOptions2(PGconn *conn)
*/
if (conn->pguser == NULL || conn->pguser[0] == '\0')
{
- if (conn->pguser)
- free(conn->pguser);
+ free(conn->pguser);
conn->pguser = pg_fe_getauthname(&conn->errorMessage);
if (!conn->pguser)
{
@@ -1201,8 +1195,7 @@ connectOptions2(PGconn *conn)
*/
if (conn->dbName == NULL || conn->dbName[0] == '\0')
{
- if (conn->dbName)
- free(conn->dbName);
+ free(conn->dbName);
conn->dbName = strdup(conn->pguser);
if (!conn->dbName)
goto oom_error;
@@ -1221,8 +1214,7 @@ connectOptions2(PGconn *conn)
if (pqGetHomeDirectory(homedir, sizeof(homedir)))
{
- if (conn->pgpassfile)
- free(conn->pgpassfile);
+ free(conn->pgpassfile);
conn->pgpassfile = malloc(MAXPGPATH);
if (!conn->pgpassfile)
goto oom_error;
@@ -1548,8 +1540,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
/* Insert dbName parameter value into struct */
if (dbName && dbName[0] != '\0')
{
- if (conn->dbName)
- free(conn->dbName);
+ free(conn->dbName);
conn->dbName = strdup(dbName);
if (!conn->dbName)
goto oom_error;
@@ -1562,8 +1553,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
*/
if (pghost && pghost[0] != '\0')
{
- if (conn->pghost)
- free(conn->pghost);
+ free(conn->pghost);
conn->pghost = strdup(pghost);
if (!conn->pghost)
goto oom_error;
@@ -1571,8 +1561,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
if (pgport && pgport[0] != '\0')
{
- if (conn->pgport)
- free(conn->pgport);
+ free(conn->pgport);
conn->pgport = strdup(pgport);
if (!conn->pgport)
goto oom_error;
@@ -1580,8 +1569,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
if (pgoptions && pgoptions[0] != '\0')
{
- if (conn->pgoptions)
- free(conn->pgoptions);
+ free(conn->pgoptions);
conn->pgoptions = strdup(pgoptions);
if (!conn->pgoptions)
goto oom_error;
@@ -1589,8 +1577,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
if (login && login[0] != '\0')
{
- if (conn->pguser)
- free(conn->pguser);
+ free(conn->pguser);
conn->pguser = strdup(login);
if (!conn->pguser)
goto oom_error;
@@ -1598,8 +1585,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
if (pwd && pwd[0] != '\0')
{
- if (conn->pgpass)
- free(conn->pgpass);
+ free(conn->pgpass);
conn->pgpass = strdup(pwd);
if (!conn->pgpass)
goto oom_error;
@@ -4044,10 +4030,8 @@ makeEmptyPGconn(void)
static void
freePGconn(PGconn *conn)
{
- int i;
-
/* let any event procs clean up their state data */
- for (i = 0; i < conn->nEvents; i++)
+ for (int i = 0; i < conn->nEvents; i++)
{
PGEventConnDestroy evt;
@@ -4058,114 +4042,69 @@ freePGconn(PGconn *conn)
}
/* clean up pg_conn_host structures */
- if (conn->connhost != NULL)
+ for (int i = 0; i < conn->nconnhost; ++i)
{
- for (i = 0; i < conn->nconnhost; ++i)
+ free(conn->connhost[i].host);
+ free(conn->connhost[i].hostaddr);
+ free(conn->connhost[i].port);
+ if (conn->connhost[i].password != NULL)
{
- if (conn->connhost[i].host != NULL)
- free(conn->connhost[i].host);
- if (conn->connhost[i].hostaddr != NULL)
- free(conn->connhost[i].hostaddr);
- if (conn->connhost[i].port != NULL)
- free(conn->connhost[i].port);
- if (conn->connhost[i].password != NULL)
- {
- explicit_bzero(conn->connhost[i].password, strlen(conn->connhost[i].password));
- free(conn->connhost[i].password);
- }
+ explicit_bzero(conn->connhost[i].password, strlen(conn->connhost[i].password));
+ free(conn->connhost[i].password);
}
- free(conn->connhost);
}
-
- if (conn->client_encoding_initial)
- free(conn->client_encoding_initial);
- if (conn->events)
- free(conn->events);
- if (conn->pghost)
- free(conn->pghost);
- if (conn->pghostaddr)
- free(conn->pghostaddr);
- if (conn->pgport)
- free(conn->pgport);
- if (conn->connect_timeout)
- free(conn->connect_timeout);
- if (conn->pgtcp_user_timeout)
- free(conn->pgtcp_user_timeout);
- if (conn->pgoptions)
- free(conn->pgoptions);
- if (conn->appname)
- free(conn->appname);
- if (conn->fbappname)
- free(conn->fbappname);
- if (conn->dbName)
- free(conn->dbName);
- if (conn->replication)
- free(conn->replication);
- if (conn->pguser)
- free(conn->pguser);
+ free(conn->connhost);
+
+ free(conn->client_encoding_initial);
+ free(conn->events);
+ free(conn->pghost);
+ free(conn->pghostaddr);
+ free(conn->pgport);
+ free(conn->connect_timeout);
+ free(conn->pgtcp_user_timeout);
+ free(conn->pgoptions);
+ free(conn->appname);
+ free(conn->fbappname);
+ free(conn->dbName);
+ free(conn->replication);
+ free(conn->pguser);
if (conn->pgpass)
{
explicit_bzero(conn->pgpass, strlen(conn->pgpass));
free(conn->pgpass);
}
- if (conn->pgpassfile)
- free(conn->pgpassfile);
- if (conn->channel_binding)
- free(conn->channel_binding);
- if (conn->keepalives)
- free(conn->keepalives);
- if (conn->keepalives_idle)
- free(conn->keepalives_idle);
- if (conn->keepalives_interval)
- free(conn->keepalives_interval);
- if (conn->keepalives_count)
- free(conn->keepalives_count);
- if (conn->sslmode)
- free(conn->sslmode);
- if (conn->sslcert)
- free(conn->sslcert);
- if (conn->sslkey)
- free(conn->sslkey);
+ free(conn->pgpassfile);
+ free(conn->channel_binding);
+ free(conn->keepalives);
+ free(conn->keepalives_idle);
+ free(conn->keepalives_interval);
+ free(conn->keepalives_count);
+ free(conn->sslmode);
+ free(conn->sslcert);
+ free(conn->sslkey);
if (conn->sslpassword)
{
explicit_bzero(conn->sslpassword, strlen(conn->sslpassword));
free(conn->sslpassword);
}
- if (conn->sslrootcert)
- free(conn->sslrootcert);
- if (conn->sslcrl)
- free(conn->sslcrl);
- if (conn->sslcrldir)
- free(conn->sslcrldir);
- if (conn->sslcompression)
- free(conn->sslcompression);
- if (conn->sslsni)
- free(conn->sslsni);
- if (conn->requirepeer)
- free(conn->requirepeer);
- if (conn->ssl_min_protocol_version)
- free(conn->ssl_min_protocol_version);
- if (conn->ssl_max_protocol_version)
- free(conn->ssl_max_protocol_version);
- if (conn->gssencmode)
- free(conn->gssencmode);
- if (conn->krbsrvname)
- free(conn->krbsrvname);
- if (conn->gsslib)
- free(conn->gsslib);
- if (conn->connip)
- free(conn->connip);
+ free(conn->sslrootcert);
+ free(conn->sslcrl);
+ free(conn->sslcrldir);
+ free(conn->sslcompression);
+ free(conn->sslsni);
+ free(conn->requirepeer);
+ free(conn->ssl_min_protocol_version);
+ free(conn->ssl_max_protocol_version);
+ free(conn->gssencmode);
+ free(conn->krbsrvname);
+ free(conn->gsslib);
+ free(conn->connip);
/* Note that conn->Pfdebug is not ours to close or free */
- if (conn->write_err_msg)
- free(conn->write_err_msg);
- if (conn->inBuffer)
- free(conn->inBuffer);
- if (conn->outBuffer)
- free(conn->outBuffer);
- if (conn->rowBuf)
- free(conn->rowBuf);
- if (conn->target_session_attrs)
- free(conn->target_session_attrs);
+ free(conn->write_err_msg);
+ free(conn->inBuffer);
+ free(conn->outBuffer);
+ free(conn->rowBuf);
+ free(conn->target_session_attrs);
termPQExpBuffer(&conn->errorMessage);
termPQExpBuffer(&conn->workBuffer);
@@ -4433,8 +4372,7 @@ fail:
void
PQfreeCancel(PGcancel *cancel)
{
- if (cancel)
- free(cancel);
+ free(cancel);
}
@@ -5883,8 +5821,7 @@ conninfo_array_parse(const char *const *keywords, const char *const *values,
{
if (strcmp(options[k].keyword, str_option->keyword) == 0)
{
- if (options[k].val)
- free(options[k].val);
+ free(options[k].val);
options[k].val = strdup(str_option->val);
if (!options[k].val)
{
@@ -5912,8 +5849,7 @@ conninfo_array_parse(const char *const *keywords, const char *const *values,
/*
* Store the value, overriding previous settings
*/
- if (option->val)
- free(option->val);
+ free(option->val);
option->val = strdup(pvalue);
if (!option->val)
{
@@ -6344,8 +6280,7 @@ conninfo_uri_parse_options(PQconninfoOption *options, const char *uri,
cleanup:
termPQExpBuffer(&hostbuf);
termPQExpBuffer(&portbuf);
- if (buf)
- free(buf);
+ free(buf);
return retval;
}
@@ -6655,8 +6590,7 @@ conninfo_storeval(PQconninfoOption *connOptions,
}
}
- if (option->val)
- free(option->val);
+ free(option->val);
option->val = value_copy;
return option;
@@ -6735,16 +6669,11 @@ PQconninfo(PGconn *conn)
void
PQconninfoFree(PQconninfoOption *connOptions)
{
- PQconninfoOption *option;
-
if (connOptions == NULL)
return;
- for (option = connOptions; option->keyword != NULL; option++)
- {
- if (option->val != NULL)
- free(option->val);
- }
+ for (PQconninfoOption *option = connOptions; option->keyword != NULL; option++)
+ free(option->val);
free(connOptions);
}
diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c
index 919cf5741d4..1750d647a8d 100644
--- a/src/interfaces/libpq/fe-exec.c
+++ b/src/interfaces/libpq/fe-exec.c
@@ -742,8 +742,7 @@ PQclear(PGresult *res)
free(res->events[i].name);
}
- if (res->events)
- free(res->events);
+ free(res->events);
/* Free all the subsidiary blocks */
while ((block = res->curBlock) != NULL)
@@ -753,8 +752,7 @@ PQclear(PGresult *res)
}
/* Free the top-level tuple pointer array */
- if (res->tuples)
- free(res->tuples);
+ free(res->tuples);
/* zero out the pointer fields to catch programming errors */
res->attDescs = NULL;
diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c
index 82fc592f068..783cd9b756f 100644
--- a/src/interfaces/libpq/fe-print.c
+++ b/src/interfaces/libpq/fe-print.c
@@ -303,26 +303,19 @@ PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po)
fputs("</table>\n", fout);
exit:
- if (fieldMax)
- free(fieldMax);
- if (fieldNotNum)
- free(fieldNotNum);
- if (border)
- free(border);
+ free(fieldMax);
+ free(fieldNotNum);
+ free(border);
if (fields)
{
/* if calloc succeeded, this shouldn't overflow size_t */
size_t numfields = ((size_t) nTups + 1) * (size_t) nFields;
while (numfields-- > 0)
- {
- if (fields[numfields])
- free(fields[numfields]);
- }
+ free(fields[numfields]);
free(fields);
}
- if (fieldNames)
- free((void *) fieldNames);
+ free(fieldNames);
if (usePipe)
{
#ifdef WIN32
@@ -679,8 +672,7 @@ PQdisplayTuples(const PGresult *res,
fflush(fp);
- if (fLength)
- free(fLength);
+ free(fLength);
}
@@ -763,8 +755,7 @@ PQprintTuples(const PGresult *res,
}
}
- if (tborder)
- free(tborder);
+ free(tborder);
}
diff --git a/src/interfaces/libpq/fe-secure-common.c b/src/interfaces/libpq/fe-secure-common.c
index 8046fcd884a..cc8a2b85938 100644
--- a/src/interfaces/libpq/fe-secure-common.c
+++ b/src/interfaces/libpq/fe-secure-common.c
@@ -309,8 +309,7 @@ pq_verify_peer_name_matches_certificate(PGconn *conn)
}
/* clean up */
- if (first_name)
- free(first_name);
+ free(first_name);
return (rc == 1);
}
diff --git a/src/port/getaddrinfo.c b/src/port/getaddrinfo.c
index 3284c6eb52a..bea7b520f0a 100644
--- a/src/port/getaddrinfo.c
+++ b/src/port/getaddrinfo.c
@@ -270,8 +270,7 @@ freeaddrinfo(struct addrinfo *res)
}
#endif
- if (res->ai_addr)
- free(res->ai_addr);
+ free(res->ai_addr);
free(res);
}
}