From 09f0e46cbc8bad67c45a2b717e09ea9fec6074fd Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Wed, 6 May 2026 21:58:16 +0000 Subject: [PATCH v1] Fix mismatched deallocation functions In fe_memutils.h, we have various allocation functions beginning with either pg_ or p. The pg_ functions have a matching pg_free() for freeing memory, while the p functions use pfree(). In some cases, we were allocating memory with one set of functions while using the wrong deallocation functions. This creates a tiny bit of mental overhead when reading code. Matching up allocation and deallocation functions makes it easier to analyze memory handling in a code path. Signed-off-by: Tristan Partin --- contrib/oid2name/oid2name.c | 6 +- src/bin/initdb/initdb.c | 14 +- src/bin/pg_basebackup/pg_basebackup.c | 2 +- src/bin/pg_basebackup/pg_createsubscriber.c | 10 +- src/bin/pg_basebackup/streamutil.c | 8 +- src/bin/pg_combinebackup/load_manifest.c | 2 +- src/bin/pg_combinebackup/pg_combinebackup.c | 2 +- src/bin/pg_combinebackup/reconstruct.c | 8 +- src/bin/pg_ctl/pg_ctl.c | 8 +- src/bin/pg_dump/compress_gzip.c | 8 +- src/bin/pg_dump/compress_lz4.c | 2 +- src/bin/pg_dump/compress_none.c | 2 +- src/bin/pg_dump/connectdb.c | 12 +- src/bin/pg_dump/dumputils.c | 4 +- src/bin/pg_dump/parallel.c | 2 +- src/bin/pg_dump/pg_backup_archiver.c | 18 +-- src/bin/pg_dump/pg_backup_custom.c | 4 +- src/bin/pg_dump/pg_backup_db.c | 2 +- src/bin/pg_dump/pg_backup_directory.c | 2 +- src/bin/pg_dump/pg_backup_tar.c | 6 +- src/bin/pg_dump/pg_dump.c | 128 +++++++++--------- src/bin/pg_dump/pg_dump_sort.c | 12 +- src/bin/pg_dump/pg_dumpall.c | 6 +- src/bin/pg_upgrade/check.c | 8 +- src/bin/pg_upgrade/function.c | 2 +- src/bin/pg_verifybackup/pg_verifybackup.c | 4 +- src/bin/pgbench/pgbench.c | 4 +- src/bin/psql/command.c | 10 +- src/bin/psql/common.c | 4 +- src/bin/psql/describe.c | 14 +- src/bin/psql/help.c | 2 +- src/bin/psql/large_obj.c | 4 +- src/bin/psql/mainloop.c | 12 +- src/bin/psql/prompt.c | 4 +- src/bin/psql/startup.c | 14 +- src/bin/psql/stringutils.c | 4 +- src/bin/psql/tab-complete.in.c | 12 +- src/bin/scripts/vacuuming.c | 2 +- src/common/logging.c | 2 +- src/fe_utils/print.c | 34 ++--- src/interfaces/ecpg/test/pg_regress_ecpg.c | 2 +- src/test/isolation/isolation_main.c | 2 +- src/test/isolation/isolationtester.c | 10 +- .../modules/libpq_pipeline/libpq_pipeline.c | 8 +- src/test/regress/pg_regress.c | 6 +- src/test/regress/pg_regress_main.c | 2 +- 46 files changed, 217 insertions(+), 217 deletions(-) diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c index 1e9efcd395..fbe923370a 100644 --- a/contrib/oid2name/oid2name.c +++ b/contrib/oid2name/oid2name.c @@ -427,7 +427,7 @@ sql_exec(PGconn *conn, const char *todo, bool quiet) memset(pad, '-', l); pad[l] = '\0'; fprintf(stdout, "%s\n", pad); - free(pad); + pg_free(pad); } /* for each row, dump the information */ @@ -440,7 +440,7 @@ sql_exec(PGconn *conn, const char *todo, bool quiet) /* cleanup */ PQclear(res); - free(length); + pg_free(length); return 0; } @@ -562,7 +562,7 @@ sql_exec_searchtables(PGconn *conn, struct options *opts) opts->extended ? addfields : "", qualifiers); - free(qualifiers); + pg_free(qualifiers); sql_exec(conn, todo, opts->quiet); } diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 14cb79c26b..eb41be5ab9 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -983,12 +983,12 @@ find_matching_ts_config(const char *lc_type) { if (pg_strcasecmp(tsearch_config_languages[i].langname, langname) == 0) { - free(langname); + pg_free(langname); return tsearch_config_languages[i].tsconfname; } } - free(langname); + pg_free(langname); return NULL; } @@ -1052,7 +1052,7 @@ write_version_file(const char *extrapath) if (fprintf(version_file, "%s\n", PG_MAJORVERSION) < 0 || fclose(version_file)) pg_fatal("could not write file \"%s\": %m", path); - free(path); + pfree(path); } /* @@ -1071,7 +1071,7 @@ set_null_conf(void) pg_fatal("could not open file \"%s\" for writing: %m", path); if (fclose(conf_file)) pg_fatal("could not write file \"%s\": %m", path); - free(path); + pfree(path); } /* @@ -3048,7 +3048,7 @@ create_xlog_or_symlink(void) subdirloc); } - free(subdirloc); + pfree(subdirloc); } @@ -3103,7 +3103,7 @@ initialize_data_directory(void) if (mkdir(path, pg_dir_create_mode) < 0) pg_fatal("could not create directory \"%s\": %m", path); - free(path); + pfree(path); } check_ok(); @@ -3303,7 +3303,7 @@ main(int argc, char *argv[]) *equals++ = '\0'; /* terminate variable name */ add_stringlist_item(&extra_guc_names, buf); add_stringlist_item(&extra_guc_values, equals); - pfree(buf); + pg_free(buf); } break; case 'D': diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c index c1a4672aa6..b02b8c2fdd 100644 --- a/src/bin/pg_basebackup/pg_basebackup.c +++ b/src/bin/pg_basebackup/pg_basebackup.c @@ -2857,7 +2857,7 @@ main(int argc, char **argv) if (symlink(xlog_dir, linkloc) != 0) pg_fatal("could not create symbolic link \"%s\": %m", linkloc); - free(linkloc); + pfree(linkloc); } BaseBackup(compression_algorithm, compression_detail, compressloc, diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c index 15e06e5686..469204268c 100644 --- a/src/bin/pg_basebackup/pg_createsubscriber.c +++ b/src/bin/pg_basebackup/pg_createsubscriber.c @@ -759,7 +759,7 @@ modify_subscriber_sysid(const struct CreateSubscriberOptions *opt) cmd_str = psprintf("\"%s\" -D \"%s\" >> \"%s\"", pg_resetwal_path, subscriber_dir, out_file); if (opt->log_dir) - pg_free(out_file); + pfree(out_file); pg_log_debug("pg_resetwal command is: %s", cmd_str); @@ -774,7 +774,7 @@ modify_subscriber_sysid(const struct CreateSubscriberOptions *opt) } pg_free(cf); - pg_free(cmd_str); + pfree(cmd_str); } /* @@ -2129,8 +2129,8 @@ set_replication_progress(PGconn *conn, const struct LogicalRepInfo *dbinfo, cons PQfreemem(subname); PQfreemem(dbname); - pg_free(originname); - pg_free(lsnstr); + pfree(originname); + pfree(lsnstr); destroyPQExpBuffer(str); } @@ -2514,7 +2514,7 @@ main(int argc, char **argv) if (!internal_log_file_fp) pg_fatal("could not open log file \"%s\": %m", internal_log_file); - pg_free(internal_log_file); + pfree(internal_log_file); pg_logging_set_logfile(internal_log_file_fp); } diff --git a/src/bin/pg_basebackup/streamutil.c b/src/bin/pg_basebackup/streamutil.c index 76abdfa2ae..b5d3351dd3 100644 --- a/src/bin/pg_basebackup/streamutil.c +++ b/src/bin/pg_basebackup/streamutil.c @@ -203,15 +203,15 @@ GetConnection(void) { pg_log_error("%s", PQerrorMessage(tmpconn)); PQfinish(tmpconn); - free(values); - free(keywords); + pg_free(values); + pg_free(keywords); PQconninfoFree(conn_opts); return NULL; } /* Connection ok! */ - free(values); - free(keywords); + pg_free(values); + pg_free(keywords); PQconninfoFree(conn_opts); /* diff --git a/src/bin/pg_combinebackup/load_manifest.c b/src/bin/pg_combinebackup/load_manifest.c index 2e50b7af4d..0b5a4ae4d7 100644 --- a/src/bin/pg_combinebackup/load_manifest.c +++ b/src/bin/pg_combinebackup/load_manifest.c @@ -214,7 +214,7 @@ load_backup_manifest(char *backup_directory) } /* All done. */ - pfree(buffer); + pg_free(buffer); return result; } diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c index d13bf63eb1..43ea2f4f10 100644 --- a/src/bin/pg_combinebackup/pg_combinebackup.c +++ b/src/bin/pg_combinebackup/pg_combinebackup.c @@ -1159,7 +1159,7 @@ process_directory_recursively(Oid tsoid, /* Avoid leaking memory. */ if (checksum_payload != NULL) - pfree(checksum_payload); + pg_free(checksum_payload); } closedir(dir); diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c index 3349aa2441..2baf6656e1 100644 --- a/src/bin/pg_combinebackup/reconstruct.c +++ b/src/bin/pg_combinebackup/reconstruct.c @@ -372,9 +372,9 @@ reconstruct_from_incremental_file(char *input_filename, pg_free(s->filename); pg_free(s); } - pfree(sourcemap); - pfree(offsetmap); - pfree(source); + pg_free(sourcemap); + pg_free(offsetmap); + pg_free(source); } /* @@ -518,7 +518,7 @@ make_rfile(char *filename, bool missing_ok) { if (missing_ok && errno == ENOENT) { - pg_free(rf->filename); + pfree(rf->filename); pg_free(rf); return NULL; } diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 5539eb8ebe..85b878a6c2 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -357,7 +357,7 @@ readfile(const char *path, int *numlines) if (len != statbuf.st_size) { /* oops, the file size changed between fstat and read */ - free(buffer); + pg_free(buffer); return NULL; } @@ -398,7 +398,7 @@ readfile(const char *path, int *numlines) } result[n] = NULL; - free(buffer); + pg_free(buffer); return result; } @@ -2168,7 +2168,7 @@ adjust_data_dir(void) write_stderr(_("%s: could not determine the data directory using command \"%s\"\n"), progname, cmd); exit(1); } - free(my_exec_path); + pg_free(my_exec_path); /* strip trailing newline and carriage return */ (void) pg_strip_crlf(filename); @@ -2288,7 +2288,7 @@ main(int argc, char **argv) * but we do -D too for clearer postmaster 'ps' display */ pgdata_opt = psprintf("-D \"%s\" ", pgdata_D); - free(pgdata_D); + pg_free(pgdata_D); break; } case 'e': diff --git a/src/bin/pg_dump/compress_gzip.c b/src/bin/pg_dump/compress_gzip.c index 60c553ba25..bd1043b236 100644 --- a/src/bin/pg_dump/compress_gzip.c +++ b/src/bin/pg_dump/compress_gzip.c @@ -229,9 +229,9 @@ ReadDataFromArchiveGzip(ArchiveHandle *AH, CompressorState *cs) if (inflateEnd(zp) != Z_OK) pg_fatal("could not close compression library: %s", zp->msg); - free(buf); - free(out); - free(zp); + pg_free(buf); + pg_free(out); + pg_free(zp); } /* Public routines that support gzip compressed data I/O */ @@ -421,7 +421,7 @@ Gzip_open_write(const char *path, const char *mode, CompressFileHandle *CFH) ret = CFH->open_func(fname, -1, mode, CFH); save_errno = errno; - pg_free(fname); + pfree(fname); errno = save_errno; return ret; diff --git a/src/bin/pg_dump/compress_lz4.c b/src/bin/pg_dump/compress_lz4.c index 0a7872116e..500d5e16a6 100644 --- a/src/bin/pg_dump/compress_lz4.c +++ b/src/bin/pg_dump/compress_lz4.c @@ -755,7 +755,7 @@ LZ4Stream_open_write(const char *path, const char *mode, CompressFileHandle *CFH ret = CFH->open_func(fname, -1, mode, CFH); save_errno = errno; - pg_free(fname); + pfree(fname); errno = save_errno; return ret; diff --git a/src/bin/pg_dump/compress_none.c b/src/bin/pg_dump/compress_none.c index 743e2ce94b..47bc6f1f3d 100644 --- a/src/bin/pg_dump/compress_none.c +++ b/src/bin/pg_dump/compress_none.c @@ -53,7 +53,7 @@ ReadDataFromArchiveNone(ArchiveHandle *AH, CompressorState *cs) ahwrite(buf, 1, cnt, AH); } - free(buf); + pg_free(buf); } diff --git a/src/bin/pg_dump/connectdb.c b/src/bin/pg_dump/connectdb.c index f3ce8b1cfb..b04076bf34 100644 --- a/src/bin/pg_dump/connectdb.c +++ b/src/bin/pg_dump/connectdb.c @@ -66,8 +66,8 @@ ConnectDatabase(const char *dbname, const char *connection_string, char *err_msg = NULL; int i = 0; - free(keywords); - free(values); + pg_free(keywords); + pg_free(values); PQconninfoFree(conn_opts); /* @@ -176,8 +176,8 @@ ConnectDatabase(const char *dbname, const char *connection_string, { PQfinish(conn); - free(keywords); - free(values); + pg_free(keywords); + pg_free(values); PQconninfoFree(conn_opts); return NULL; @@ -191,8 +191,8 @@ ConnectDatabase(const char *dbname, const char *connection_string, if (connstr) *connstr = constructConnStr(keywords, values); - free(keywords); - free(values); + pg_free(keywords); + pg_free(values); PQconninfoFree(conn_opts); /* Check version */ diff --git a/src/bin/pg_dump/dumputils.c b/src/bin/pg_dump/dumputils.c index dfb1f603a4..2dc9855098 100644 --- a/src/bin/pg_dump/dumputils.c +++ b/src/bin/pg_dump/dumputils.c @@ -343,8 +343,8 @@ buildACLCommands(const char *name, const char *subname, const char *nspname, free(aclitems); free(baseitems); - free(grantitems); - free(revokeitems); + pg_free(grantitems); + pg_free(revokeitems); return ok; } diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c index a7bed5eccc..3e5e940d80 100644 --- a/src/bin/pg_dump/parallel.c +++ b/src/bin/pg_dump/parallel.c @@ -499,7 +499,7 @@ WaitForTerminatingWorkers(ParallelState *pstate) ret = WaitForMultipleObjects(nrun, lpHandles, false, INFINITE); Assert(ret != WAIT_FAILED); hThread = (uintptr_t) lpHandles[ret - WAIT_OBJECT_0]; - free(lpHandles); + pg_free(lpHandles); /* Find dead worker's slot, and clear the hThread field */ for (j = 0; j < pstate->numWorkers; j++) diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index fecf6f2d1c..7e65562886 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -1698,12 +1698,12 @@ archprintf(Archive *AH, const char *fmt,...) break; /* success */ /* Release buffer and loop around to try again with larger len. */ - free(p); + pg_free(p); len = cnt; } WriteData(AH, p, cnt); - free(p); + pg_free(p); return (int) cnt; } @@ -1802,12 +1802,12 @@ ahprintf(ArchiveHandle *AH, const char *fmt,...) break; /* success */ /* Release buffer and loop around to try again with larger len. */ - free(p); + pg_free(p); len = cnt; } ahwrite(p, 1, cnt, AH); - free(p); + pg_free(p); return (int) cnt; } @@ -2865,7 +2865,7 @@ ReadToc(ArchiveHandle *AH) } else { - free(deps); + pg_free(deps); te->dependencies = NULL; te->nDeps = 0; } @@ -2925,7 +2925,7 @@ processEncodingEntry(ArchiveHandle *AH, TocEntry *te) pg_fatal("invalid ENCODING item: %s", te->defn); - free(defn); + pg_free(defn); } static void @@ -3908,7 +3908,7 @@ _getObjectDescription(PQExpBuffer buf, const TocEntry *te) appendPQExpBufferStr(buf, first); - free(first); + pg_free(first); return; } /* these object types don't have separate owners */ @@ -4124,7 +4124,7 @@ _printTocEntry(ArchiveHandle *AH, TocEntry *te, const char *pfx) char *cmdEnd = psprintf(" OWNER TO %s", fmtId(te->owner)); IssueCommandPerBlob(AH, te, "ALTER LARGE OBJECT ", cmdEnd); - pg_free(cmdEnd); + pfree(cmdEnd); } else { @@ -5104,7 +5104,7 @@ identify_locking_dependencies(ArchiveHandle *AH, TocEntry *te) if (nlockids == 0) { - free(lockids); + pg_free(lockids); return; } diff --git a/src/bin/pg_dump/pg_backup_custom.c b/src/bin/pg_dump/pg_backup_custom.c index 5299062094..052ad5c6a2 100644 --- a/src/bin/pg_dump/pg_backup_custom.c +++ b/src/bin/pg_dump/pg_backup_custom.c @@ -645,7 +645,7 @@ _skipData(ArchiveHandle *AH) { if (blkLen > buflen) { - free(buf); + pg_free(buf); buflen = Max(blkLen, 4 * 1024); buf = (char *) pg_malloc(buflen); } @@ -661,7 +661,7 @@ _skipData(ArchiveHandle *AH) blkLen = ReadInt(AH); } - free(buf); + pg_free(buf); } /* diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c index 5c349279be..4de391f5ac 100644 --- a/src/bin/pg_dump/pg_backup_db.c +++ b/src/bin/pg_dump/pg_backup_db.c @@ -425,7 +425,7 @@ ExecuteSqlCommandBuf(Archive *AHX, const char *buf, size_t bufLen) memcpy(str, buf, bufLen); str[bufLen] = '\0'; ExecuteSqlCommand(AH, str, "could not execute query"); - free(str); + pg_free(str); } } diff --git a/src/bin/pg_dump/pg_backup_directory.c b/src/bin/pg_dump/pg_backup_directory.c index d6a1428c67..102c456283 100644 --- a/src/bin/pg_dump/pg_backup_directory.c +++ b/src/bin/pg_dump/pg_backup_directory.c @@ -365,7 +365,7 @@ _PrintFileData(ArchiveHandle *AH, char *filename) ahwrite(buf, 1, cnt, AH); } - free(buf); + pg_free(buf); if (!EndCompressFileHandle(CFH)) pg_fatal("could not close data file \"%s\": %m", filename); } diff --git a/src/bin/pg_dump/pg_backup_tar.c b/src/bin/pg_dump/pg_backup_tar.c index a3879410c9..7d2dd007c9 100644 --- a/src/bin/pg_dump/pg_backup_tar.c +++ b/src/bin/pg_dump/pg_backup_tar.c @@ -975,12 +975,12 @@ tarPrintf(TAR_MEMBER *th, const char *fmt,...) break; /* success */ /* Release buffer and loop around to try again with larger len. */ - free(p); + pg_free(p); len = cnt; } cnt = tarWrite(p, cnt, th); - free(p); + pg_free(p); return (int) cnt; } @@ -1076,7 +1076,7 @@ _tarPositionTo(ArchiveHandle *AH, const char *filename) * We're just scanning the archive for the next file, so return * null */ - free(th); + pg_free(th); return NULL; } } diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index d56dcc701c..cb1bc9a1b6 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -2787,7 +2787,7 @@ dumpTableData_insert(Archive *fout, const void *dcontext) destroyPQExpBuffer(q); if (insertStmt != NULL) destroyPQExpBuffer(insertStmt); - free(attgenerated); + pg_free(attgenerated); /* Revert back the setting */ if (tbinfo->relkind == RELKIND_FOREIGN_TABLE) @@ -3766,7 +3766,7 @@ dumpDatabase(Archive *fout) PQclear(res); - free(qdatname); + pg_free(qdatname); destroyPQExpBuffer(dbQry); destroyPQExpBuffer(delQry); destroyPQExpBuffer(creaQry); @@ -4501,11 +4501,11 @@ dumpPolicy(Archive *fout, const PolicyInfo *polinfo) tbinfo->dobj.namespace->dobj.name, tbinfo->rolname, polinfo->dobj.catId, 0, polinfo->dobj.dumpId); - free(tag); + pfree(tag); destroyPQExpBuffer(query); destroyPQExpBuffer(delqry); destroyPQExpBuffer(polprefix); - free(qtabname); + pg_free(qtabname); } /* @@ -4793,7 +4793,7 @@ dumpPublication(Archive *fout, const PublicationInfo *pubinfo) destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qpubname); + pg_free(qpubname); } /* @@ -5046,7 +5046,7 @@ dumpPublicationNamespace(Archive *fout, const PublicationSchemaInfo *pubsinfo) /* These objects can't currently have comments or seclabels */ - free(tag); + pfree(tag); destroyPQExpBuffer(query); } @@ -5108,7 +5108,7 @@ dumpPublicationTable(Archive *fout, const PublicationRelInfo *pubrinfo) /* These objects can't currently have comments or seclabels */ - free(tag); + pfree(tag); destroyPQExpBuffer(query); } @@ -5551,7 +5551,7 @@ dumpSubscriptionTable(Archive *fout, const SubRelInfo *subrinfo) /* These objects can't currently have comments or seclabels */ - free(tag); + pfree(tag); destroyPQExpBuffer(query); } @@ -5717,7 +5717,7 @@ dumpSubscription(Archive *fout, const SubscriptionInfo *subinfo) destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qsubname); + pg_free(qsubname); } /* @@ -10219,7 +10219,7 @@ determineNotNullFlags(Archive *fout, PGresult *res, int r, tbinfo->notnull_constrs[j] = pstrdup(PQgetvalue(res, r, i_notnull_name)); } - free(default_name); + pfree(default_name); } } } @@ -12079,7 +12079,7 @@ dumpNamespace(Archive *fout, const NamespaceInfo *nspinfo) qnspname, NULL, NULL, NULL, nspinfo->rolname, &nspinfo->dacl); - free(qnspname); + pg_free(qnspname); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); @@ -12202,7 +12202,7 @@ dumpExtension(Archive *fout, const ExtensionInfo *extinfo) NULL, "", extinfo->dobj.catId, 0, extinfo->dobj.dumpId); - free(qextname); + pg_free(qextname); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); @@ -12375,8 +12375,8 @@ dumpEnumType(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -12528,8 +12528,8 @@ dumpRangeType(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -12597,8 +12597,8 @@ dumpUndefinedType(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -12846,8 +12846,8 @@ dumpBaseType(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -12961,7 +12961,7 @@ dumpDomain(Archive *fout, const TypeInfo *tyinfo) else appendPQExpBuffer(q, " CONSTRAINT %s %s", fmtId(notnull->dobj.name), notnull->condef); - free(default_name); + pfree(default_name); } } } @@ -13070,8 +13070,8 @@ dumpDomain(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -13272,8 +13272,8 @@ dumpCompositeType(Archive *fout, const TypeInfo *tyinfo) destroyPQExpBuffer(dropped); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qtypname); - free(qualtypname); + pg_free(qtypname); + pg_free(qualtypname); } /* @@ -13539,7 +13539,7 @@ dumpProcLang(Archive *fout, const ProcLangInfo *plang) qlanname, NULL, NULL, NULL, plang->lanowner, &plang->dacl); - free(qlanname); + pg_free(qlanname); destroyPQExpBuffer(defqry); destroyPQExpBuffer(delqry); @@ -13850,7 +13850,7 @@ dumpFunc(Archive *fout, const FuncInfo *finfo) getFormattedTypeName(fout, typeids[i], zeroAsNone)); } - free(typeids); + pg_free(typeids); } if (prokind[0] == PROKIND_WINDOW) @@ -14018,7 +14018,7 @@ dumpFunc(Archive *fout, const FuncInfo *finfo) free(funcsig); free(funcfullsig); free(funcsig_tag); - free(qual_funcsig); + pfree(qual_funcsig); free(configitems); } @@ -14604,7 +14604,7 @@ dumpAccessMethod(Archive *fout, const AccessMethodInfo *aminfo) aminfo->amtype, qamname); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qamname); + pg_free(qamname); return; } @@ -14633,7 +14633,7 @@ dumpAccessMethod(Archive *fout, const AccessMethodInfo *aminfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qamname); + pg_free(qamname); } /* @@ -14905,9 +14905,9 @@ dumpOpclass(Archive *fout, const OpclassInfo *opcinfo) opcinfo->dobj.namespace->dobj.name, opcinfo->rolname, opcinfo->dobj.catId, 0, opcinfo->dobj.dumpId); - free(opcintype); - free(opcfamily); - free(amname); + pg_free(opcintype); + pg_free(opcfamily); + pg_free(amname); destroyPQExpBuffer(query); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); @@ -15127,7 +15127,7 @@ dumpOpfamily(Archive *fout, const OpfamilyInfo *opfinfo) opfinfo->dobj.namespace->dobj.name, opfinfo->rolname, opfinfo->dobj.catId, 0, opfinfo->dobj.dumpId); - free(amname); + pg_free(amname); PQclear(res_ops); PQclear(res_procs); destroyPQExpBuffer(query); @@ -15390,7 +15390,7 @@ dumpCollation(Archive *fout, const CollInfo *collinfo) destroyPQExpBuffer(query); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qcollname); + pg_free(qcollname); } /* @@ -15484,7 +15484,7 @@ dumpConversion(Archive *fout, const ConvInfo *convinfo) destroyPQExpBuffer(query); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qconvname); + pg_free(qconvname); } /* @@ -15942,7 +15942,7 @@ dumpTSParser(Archive *fout, const TSParserInfo *prsinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qprsname); + pg_free(qprsname); } /* @@ -16022,7 +16022,7 @@ dumpTSDictionary(Archive *fout, const TSDictInfo *dictinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qdictname); + pg_free(qdictname); } /* @@ -16080,7 +16080,7 @@ dumpTSTemplate(Archive *fout, const TSTemplateInfo *tmplinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qtmplname); + pg_free(qtmplname); } /* @@ -16200,7 +16200,7 @@ dumpTSConfig(Archive *fout, const TSConfigInfo *cfginfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qcfgname); + pg_free(qcfgname); } /* @@ -16270,7 +16270,7 @@ dumpForeignDataWrapper(Archive *fout, const FdwInfo *fdwinfo) "FOREIGN DATA WRAPPER", qfdwname, NULL, NULL, NULL, fdwinfo->rolname, &fdwinfo->dacl); - free(qfdwname); + pg_free(qfdwname); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); @@ -16366,7 +16366,7 @@ dumpForeignServer(Archive *fout, const ForeignServerInfo *srvinfo) PQclear(res); - free(qsrvname); + pg_free(qsrvname); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); @@ -17158,13 +17158,13 @@ dumpTable(Archive *fout, const TableInfo *tbinfo) "TABLE", namecopy, attnamecopy, tbinfo->dobj.namespace->dobj.name, NULL, tbinfo->rolname, &coldacl); - free(attnamecopy); + pg_free(attnamecopy); } PQclear(res); destroyPQExpBuffer(query); } - free(namecopy); + pg_free(namecopy); } /* @@ -18154,9 +18154,9 @@ dumpTableSchema(Archive *fout, const TableInfo *tbinfo) tbinfo->attfdwoptions[j]); } /* end loop over columns */ - free(partkeydef); - free(ftoptions); - free(srvname); + pg_free(partkeydef); + pg_free(ftoptions); + pg_free(srvname); } /* @@ -18300,8 +18300,8 @@ dumpTableSchema(Archive *fout, const TableInfo *tbinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(extra); - free(qrelname); - free(qualrelname); + pg_free(qrelname); + pg_free(qualrelname); } /* @@ -18435,10 +18435,10 @@ dumpAttrDef(Archive *fout, const AttrDefInfo *adinfo) .createStmt = q->data, .dropStmt = delq->data)); - free(tag); + pfree(tag); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qualrelname); + pg_free(qualrelname); } /* @@ -18620,8 +18620,8 @@ dumpIndex(Archive *fout, const IndxInfo *indxinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); - free(qindxname); - free(qqindxname); + pg_free(qindxname); + pg_free(qqindxname); } /* @@ -18741,7 +18741,7 @@ dumpStatisticsExt(Archive *fout, const StatsExtInfo *statsextinfo) destroyPQExpBuffer(q); destroyPQExpBuffer(delq); destroyPQExpBuffer(query); - free(qstatsextname); + pg_free(qstatsextname); } /* @@ -19322,7 +19322,7 @@ dumpConstraint(Archive *fout, const ConstraintInfo *coninfo) tyinfo->rolname, coninfo->dobj.catId, 0, coninfo->dobj.dumpId); destroyPQExpBuffer(conprefix); - free(qtypname); + pg_free(qtypname); } } } @@ -19337,7 +19337,7 @@ dumpConstraint(Archive *fout, const ConstraintInfo *coninfo) coninfo->dobj.dump & DUMP_COMPONENT_COMMENT) dumpTableConstraintComment(fout, coninfo); - free(tag); + pfree(tag); destroyPQExpBuffer(q); destroyPQExpBuffer(delq); } @@ -19369,7 +19369,7 @@ dumpTableConstraintComment(Archive *fout, const ConstraintInfo *coninfo) coninfo->separate ? coninfo->dobj.dumpId : tbinfo->dobj.dumpId); destroyPQExpBuffer(conprefix); - free(qtabname); + pg_free(qtabname); } static inline SeqType @@ -19712,7 +19712,7 @@ dumpSequence(Archive *fout, const TableInfo *tbinfo) pg_free(seq); destroyPQExpBuffer(query); destroyPQExpBuffer(delqry); - free(qseqname); + pg_free(qseqname); } /* @@ -19922,12 +19922,12 @@ dumpTrigger(Archive *fout, const TriggerInfo *tginfo) tbinfo->dobj.namespace->dobj.name, tbinfo->rolname, tginfo->dobj.catId, 0, tginfo->dobj.dumpId); - free(tag); + pfree(tag); destroyPQExpBuffer(query); destroyPQExpBuffer(delqry); destroyPQExpBuffer(trigprefix); destroyPQExpBuffer(trigidentity); - free(qtabname); + pg_free(qtabname); } /* @@ -20017,7 +20017,7 @@ dumpEventTrigger(Archive *fout, const EventTriggerInfo *evtinfo) destroyPQExpBuffer(query); destroyPQExpBuffer(delqry); - free(qevtname); + pg_free(qevtname); } /* @@ -20173,12 +20173,12 @@ dumpRule(Archive *fout, const RuleInfo *rinfo) tbinfo->rolname, rinfo->dobj.catId, 0, rinfo->dobj.dumpId); - free(tag); + pfree(tag); destroyPQExpBuffer(query); destroyPQExpBuffer(cmd); destroyPQExpBuffer(delcmd); destroyPQExpBuffer(ruleprefix); - free(qtabname); + pg_free(qtabname); } /* @@ -20821,7 +20821,7 @@ BuildArchiveDependencies(Archive *fout) te->nDeps = nDeps; } else - free(dependencies); + pg_free(dependencies); } } diff --git a/src/bin/pg_dump/pg_dump_sort.c b/src/bin/pg_dump/pg_dump_sort.c index 03e5c1c111..5b3ea0f2a1 100644 --- a/src/bin/pg_dump/pg_dump_sort.c +++ b/src/bin/pg_dump/pg_dump_sort.c @@ -578,7 +578,7 @@ sortDumpableObjects(DumpableObject **objs, int numObjs, memcpy(objs, ordering, numObjs * sizeof(DumpableObject *)); - free(ordering); + pg_free(ordering); } /* @@ -734,8 +734,8 @@ TopoSort(DumpableObject **objs, /* Done */ binaryheap_free(pendingHeap); - free(beforeConstraints); - free(idMap); + pg_free(beforeConstraints); + pg_free(idMap); return (i == 0); } @@ -830,9 +830,9 @@ findDependencyLoops(DumpableObject **objs, int nObjs, int totObjs) if (!fixedloop) pg_fatal("could not identify dependency loop"); - free(workspace); - free(searchFailed); - free(processed); + pg_free(workspace); + pg_free(searchFailed); + pg_free(processed); } /* diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index c1f43113c5..1ad38fbb82 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -1594,7 +1594,7 @@ dumpRoleGUCPrivs(PGconn *conn) .section = SECTION_PRE_DATA, .createStmt = buf->data)); - free(fparname); + pg_free(fparname); destroyPQExpBuffer(buf); } @@ -1799,7 +1799,7 @@ dumpTablespaces(PGconn *conn) .createStmt = seclabel_buf->data)); } - free(fspcname); + pg_free(fspcname); destroyPQExpBuffer(buf); } @@ -1865,7 +1865,7 @@ dropDBs(PGconn *conn) .description = "DROP_GLOBAL", .section = SECTION_PRE_DATA, .createStmt = stmt)); - pg_free(stmt); + pfree(stmt); } } } diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index 5a7afe62ea..d0cca5bf64 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -1034,7 +1034,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) /* Unlink file in case it is left over from a previous run. */ unlink(*deletion_script_file_name); - pg_free(*deletion_script_file_name); + pfree(*deletion_script_file_name); *deletion_script_file_name = NULL; return; } @@ -1058,7 +1058,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) /* Unlink file in case it is left over from a previous run. */ unlink(*deletion_script_file_name); - pg_free(*deletion_script_file_name); + pfree(*deletion_script_file_name); *deletion_script_file_name = NULL; return; } @@ -1086,7 +1086,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) fprintf(script, RMDIR_CMD " %c%s%s%c\n", PATH_QUOTE, fix_path_separator(old_cluster.tablespaces[tblnum]), old_tblspc_suffix, PATH_QUOTE); - pfree(old_tblspc_suffix); + pg_free(old_tblspc_suffix); fclose(script); @@ -1639,7 +1639,7 @@ check_for_incompatible_polymorphics(ClusterInfo *cluster) check_ok(); termPQExpBuffer(&old_polymorphics); - pg_free(query); + pfree(query); } /* diff --git a/src/bin/pg_upgrade/function.c b/src/bin/pg_upgrade/function.c index bc7e8006d8..ebc78a634d 100644 --- a/src/bin/pg_upgrade/function.c +++ b/src/bin/pg_upgrade/function.c @@ -154,7 +154,7 @@ get_loadable_libraries(void) } pg_free(state.ress); - pg_free(query); + pfree(query); os_info.num_libraries = totaltups; } diff --git a/src/bin/pg_verifybackup/pg_verifybackup.c b/src/bin/pg_verifybackup/pg_verifybackup.c index bb4fb97219..1baccbbf4f 100644 --- a/src/bin/pg_verifybackup/pg_verifybackup.c +++ b/src/bin/pg_verifybackup/pg_verifybackup.c @@ -509,7 +509,7 @@ parse_manifest_file(char *manifest_path) } /* Done with the buffer. */ - pfree(buffer); + pg_free(buffer); return result; } @@ -1109,7 +1109,7 @@ verify_backup_checksums(verifier_context *context) } } - pfree(buffer); + pg_free(buffer); progress_report(true); } diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index c969afab3a..06266650db 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -3162,7 +3162,7 @@ sendCommand(CState *st, Command *command) pg_log_debug("client %d sending %s", st->id, sql); r = PQsendQuery(st->con, sql); - free(sql); + pg_free(sql); } else if (querymode == QUERY_EXTENDED) { @@ -3355,7 +3355,7 @@ readCommandResponse(CState *st, MetaCommand meta, char *varprefix) } if (*varprefix != '\0') - pg_free(varname); + pfree(varname); } } /* otherwise the result is simply thrown away by PQclear below */ diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 493400f909..10ae979893 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -2601,7 +2601,7 @@ exec_command_password(PsqlScanState scan_state, bool active_branch) PQclear(res); } - free(user); + pg_free(user); free(pw1); free(pw2); termPQExpBuffer(&buf); @@ -2913,7 +2913,7 @@ exec_command_set(PsqlScanState scan_state, bool active_branch) if (!SetVariable(pset.vars, opt0, newval)) success = false; - free(newval); + pg_free(newval); } free(opt0); } @@ -3881,7 +3881,7 @@ prompt_for_password(const char *username, bool *canceled) prompt_text = psprintf(_("Password for user %s: "), username); result = simple_prompt_extended(prompt_text, false, &prompt_ctx); - free(prompt_text); + pfree(prompt_text); } if (canceled) @@ -4706,7 +4706,7 @@ editFile(const char *fname, int lineno) pg_log_error("could not start editor \"%s\"", editorName); else if (result == 127) pg_log_error("could not start /bin/sh"); - free(sys); + pfree(sys); return result == 0; } @@ -5887,7 +5887,7 @@ do_shell(const char *command) sys = psprintf("\"%s\"", shellName); #endif result = system(sys); - free(sys); + pfree(sys); } else result = system(command); diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index 476e7fe673..1e937fefba 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -838,12 +838,12 @@ StoreQueryTuple(const PGresult *result) if (!SetVariable(pset.vars, varname, value)) { - free(varname); + pfree(varname); success = false; break; } - free(varname); + pfree(varname); } } diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index e1449654f9..f1ae3f4e81 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -1926,8 +1926,8 @@ describeOneTableDetails(const char *schemaname, printQuery(res, &myopt, pset.queryFout, false, pset.logfile); - free(footers[0]); - free(footers[1]); + pg_free(footers[0]); + pg_free(footers[1]); retval = true; goto error_return; /* not an error, just return early */ @@ -2000,8 +2000,8 @@ describeOneTableDetails(const char *schemaname, printQuery(res, &popt, pset.queryFout, false, pset.logfile); - free(footers[0]); - free(footers[1]); + pg_free(footers[0]); + pg_free(footers[1]); retval = true; goto error_return; /* not an error, just return early */ @@ -3855,7 +3855,7 @@ describeOneTableDetails(const char *schemaname, termPQExpBuffer(&title); termPQExpBuffer(&tmpbuf); - free(view_def); + pg_free(view_def); PQclear(res); @@ -4063,8 +4063,8 @@ describeRoles(const char *pattern, bool verbose, bool showSystem) printTableCleanup(&cont); for (i = 0; i < nrows; i++) - free(attr[i]); - free(attr); + pg_free(attr[i]); + pg_free(attr); PQclear(res); return true; diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 5e0d8f3aae..bfd3fea177 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -725,7 +725,7 @@ helpSQL(const char *topic, unsigned short int pager) _(QL_HELP[i].help), buffer.data, url); - free(url); + pfree(url); termPQExpBuffer(&buffer); /* If we have an exact match, exit. Fixes \h SELECT */ diff --git a/src/bin/psql/large_obj.c b/src/bin/psql/large_obj.c index 021f78e0f7..72e81403bf 100644 --- a/src/bin/psql/large_obj.c +++ b/src/bin/psql/large_obj.c @@ -210,12 +210,12 @@ do_lo_import(const char *filename_arg, const char *comment_arg) if (!(res = PSQLexec(cmdbuf))) { - free(cmdbuf); + pg_free(cmdbuf); return fail_lo_xact("\\lo_import", own_transaction); } PQclear(res); - free(cmdbuf); + pg_free(cmdbuf); } if (!finish_lo_xact("\\lo_import", own_transaction)) diff --git a/src/bin/psql/mainloop.c b/src/bin/psql/mainloop.c index e9abda0716..1f409a573b 100644 --- a/src/bin/psql/mainloop.c +++ b/src/bin/psql/mainloop.c @@ -210,7 +210,7 @@ MainLoop(FILE *source) if (pset.lineno == 1 && !pset.cur_cmd_interactive && strncmp(line, "PGDMP", 5) == 0) { - free(line); + pg_free(line); puts(_("The input is a PostgreSQL custom-format dump.\n" "Use the pg_restore command-line client to restore this dump to a database.\n")); fflush(stdout); @@ -221,7 +221,7 @@ MainLoop(FILE *source) /* no further processing of empty lines, unless within a literal */ if (line[0] == '\0' && !psql_scan_in_quote(scan_state)) { - free(line); + pg_free(line); continue; } @@ -304,7 +304,7 @@ MainLoop(FILE *source) " \\? for help with psql commands\n" " \\g or terminate with semicolon to execute query\n" " \\q to quit\n")); - free(line); + pg_free(line); fflush(stdout); continue; } @@ -334,7 +334,7 @@ MainLoop(FILE *source) else { /* exit app */ - free(line); + pg_free(line); fflush(stdout); successResult = EXIT_SUCCESS; break; @@ -536,7 +536,7 @@ MainLoop(FILE *source) appendPQExpBufferChar(query_buf, '\n'); /* rescan query_buf as new input */ psql_scan_finish(scan_state); - free(line); + pg_free(line); line = pg_strdup(query_buf->data); resetPQExpBuffer(query_buf); /* reset parsing state since we are rescanning whole line */ @@ -574,7 +574,7 @@ MainLoop(FILE *source) } psql_scan_finish(scan_state); - free(line); + pg_free(line); if (slashCmdStatus == PSQL_CMD_TERMINATE) { diff --git a/src/bin/psql/prompt.c b/src/bin/psql/prompt.c index 9725d53dfe..4906f320e7 100644 --- a/src/bin/psql/prompt.c +++ b/src/bin/psql/prompt.c @@ -333,7 +333,7 @@ get_prompt(promptStatus_t status, ConditionalStack cstack) /* strip trailing newline and carriage return */ (void) pg_strip_crlf(buf); - free(file); + pfree(file); p += cmdend + 1; break; } @@ -348,7 +348,7 @@ get_prompt(promptStatus_t status, ConditionalStack cstack) val = GetVariable(pset.vars, name); if (val) strlcpy(buf, val, sizeof(buf)); - free(name); + pfree(name); p += nameend + 1; break; } diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 69d044d405..23f23259c5 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -276,8 +276,8 @@ main(int argc, char *argv[]) new_pass = false; pset.db = PQconnectdbParams(keywords, values, true); - free(keywords); - free(values); + pg_free(keywords); + pg_free(values); if (PQstatus(pset.db) == CONNECTION_BAD && PQconnectionNeedsPassword(pset.db) && @@ -300,7 +300,7 @@ main(int argc, char *argv[]) PQfinish(pset.db); password = simple_prompt(password_prompt, false); - free(password_prompt); + pg_free(password_prompt); new_pass = true; } } while (new_pass); @@ -620,7 +620,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options) if (!result) pg_fatal("could not set printing parameter \"%s\"", value); - free(value); + pg_free(value); break; } case 'q': @@ -664,7 +664,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options) exit(EXIT_FAILURE); /* error already printed */ } - free(value); + pg_free(value); break; } case 'V': @@ -834,8 +834,8 @@ process_psqlrc_file(char *filename) else if (access(filename, R_OK) == 0) (void) process_file(filename, false); - free(psqlrc_minor); - free(psqlrc_major); + pfree(psqlrc_minor); + pfree(psqlrc_major); } diff --git a/src/bin/psql/stringutils.c b/src/bin/psql/stringutils.c index ad75622711..2140668ea0 100644 --- a/src/bin/psql/stringutils.c +++ b/src/bin/psql/stringutils.c @@ -93,7 +93,7 @@ strtokx(const char *s, if (*start == '\0') { /* technically we don't need to free here, but we're nice */ - free(storage); + pg_free(storage); storage = NULL; string = NULL; return NULL; @@ -334,7 +334,7 @@ quote_if_needed(const char *source, const char *entails_quote, if (!need_quotes) { - free(ret); + pg_free(ret); ret = NULL; } diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index db65d130fc..0dfe4e906c 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -2140,7 +2140,7 @@ psql_completion(const char *text, int start, int end) /* free storage */ free(previous_words); free(words_buffer); - free(text_copy); + pfree(text_copy); free(completion_ref_object); completion_ref_object = NULL; free(completion_ref_schema); @@ -6223,7 +6223,7 @@ _complete_from_query(const char *simple_query, /* Clean up */ termPQExpBuffer(&query_buffer); free(schemaname); - free(objectname); + pg_free(objectname); free(e_object_like); free(e_schemaname); free(e_ref_object); @@ -6523,7 +6523,7 @@ complete_from_variables(const char *text, const char *prefix, const char *suffix for (i = 0; i < nvars; i++) free(varnames[i]); - free(varnames); + pg_free(varnames); return matches; } @@ -6779,7 +6779,7 @@ make_like_pattern(const char *word) *bptr = '\0'; result = escape_string(buffer); - free(buffer); + pg_free(buffer); return result; } @@ -7165,7 +7165,7 @@ get_previous_words(int point, char **buffer, int *nwords) /* Release parsing input workspace, if we made one above */ if (buf != rl_line_buffer) - free(buf); + pg_free(buf); *nwords = words_found; return previous_words; @@ -7292,7 +7292,7 @@ dequote_file_name(char *fname, int quote_char) strcpy(workspace + 1, fname); unquoted_fname = strtokx(workspace, "", NULL, "'", *completion_charp, false, true, pset.encoding); - free(workspace); + pg_free(workspace); } else unquoted_fname = strtokx(fname, "", NULL, "'", *completion_charp, diff --git a/src/bin/scripts/vacuuming.c b/src/bin/scripts/vacuuming.c index faac9089a0..33407ad59f 100644 --- a/src/bin/scripts/vacuuming.c +++ b/src/bin/scripts/vacuuming.c @@ -490,7 +490,7 @@ vacuum_all_databases(ConnParams *cparams, { for (int i = 0; i < numdbs; i++) free_retrieved_objects(found_objs[i]); - pg_free(found_objs); + pfree(found_objs); } } else diff --git a/src/common/logging.c b/src/common/logging.c index 4a69d96281..75d6355b93 100644 --- a/src/common/logging.c +++ b/src/common/logging.c @@ -360,5 +360,5 @@ pg_log_generic_v(enum pg_log_level level, enum pg_log_part part, fflush(log_logfile); } - free(buf); + pg_free(buf); } diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c index f2dd52003c..fc27735d46 100644 --- a/src/fe_utils/print.c +++ b/src/fe_utils/print.c @@ -1180,21 +1180,21 @@ print_aligned_text(const printTableContent *cont, FILE *fout, bool is_pager) /* clean up */ for (i = 0; i < col_count; i++) { - free(col_lineptrs[i]); - free(format_buf[i]); + pg_free(col_lineptrs[i]); + pg_free(format_buf[i]); } - free(width_header); - free(width_average); - free(max_width); - free(width_wrap); - free(max_nl_lines); - free(curr_nl_line); - free(col_lineptrs); - free(max_bytes); - free(format_buf); - free(header_done); - free(bytes_output); - free(wrap); + pg_free(width_header); + pg_free(width_average); + pg_free(max_width); + pg_free(width_wrap); + pg_free(max_nl_lines); + pg_free(curr_nl_line); + pg_free(col_lineptrs); + pg_free(max_bytes); + pg_free(format_buf); + pg_free(header_done); + pg_free(bytes_output); + pg_free(wrap); if (is_local_pager) ClosePager(fout); @@ -1808,8 +1808,8 @@ print_aligned_vertical(const printTableContent *cont, free(hlineptr->ptr); free(dlineptr->ptr); - free(hlineptr); - free(dlineptr); + pg_free(hlineptr); + pg_free(dlineptr); if (is_local_pager) ClosePager(fout); @@ -3618,7 +3618,7 @@ count_table_lines(const printTableContent *cont, } } - free(header_height); + pg_free(header_height); return lines; } diff --git a/src/interfaces/ecpg/test/pg_regress_ecpg.c b/src/interfaces/ecpg/test/pg_regress_ecpg.c index ad66e4d65c..ffac915d19 100644 --- a/src/interfaces/ecpg/test/pg_regress_ecpg.c +++ b/src/interfaces/ecpg/test/pg_regress_ecpg.c @@ -217,7 +217,7 @@ ecpg_start_test(const char *testname, appnameenv = psprintf("ecpg/%s", testname_dash.data); setenv("PGAPPNAME", appnameenv, 1); - free(appnameenv); + pfree(appnameenv); pid = spawn_process(cmd); diff --git a/src/test/isolation/isolation_main.c b/src/test/isolation/isolation_main.c index 423b018afb..56a758c76b 100644 --- a/src/test/isolation/isolation_main.c +++ b/src/test/isolation/isolation_main.c @@ -89,7 +89,7 @@ isolation_start_test(const char *testname, appnameenv = psprintf("isolation/%s", testname); setenv("PGAPPNAME", appnameenv, 1); - free(appnameenv); + pfree(appnameenv); pid = spawn_process(psql_cmd.data); diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index 440c875b8a..e64dc020b1 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -383,7 +383,7 @@ check_testspec(TestSpec *testspec) } } - free(allsteps); + pg_free(allsteps); } /* @@ -437,9 +437,9 @@ run_all_permutations(TestSpec *testspec) run_all_permutations_recurse(testspec, piles, 0, stepptrs); - free(steps); - free(stepptrs); - free(piles); + pg_free(steps); + pg_free(stepptrs); + pg_free(piles); } static void @@ -742,7 +742,7 @@ run_permutation(TestSpec *testspec, int nsteps, PermutationStep **steps) PQclear(res); } - free(waiting); + pg_free(waiting); } /* diff --git a/src/test/modules/libpq_pipeline/libpq_pipeline.c b/src/test/modules/libpq_pipeline/libpq_pipeline.c index aa0a6bbe76..18f2fbe8d3 100644 --- a/src/test/modules/libpq_pipeline/libpq_pipeline.c +++ b/src/test/modules/libpq_pipeline/libpq_pipeline.c @@ -281,8 +281,8 @@ copy_connection(PGconn *conn) pg_fatal("Connection to database failed: %s", PQerrorMessage(copyConn)); - pfree(keywords); - pfree(vals); + pg_free(keywords); + pg_free(vals); PQconninfoFree(opts); return copyConn; @@ -1438,8 +1438,8 @@ test_protocol_version(PGconn *conn) PQfinish(conn); - pfree(keywords); - pfree(vals); + pg_free(keywords); + pg_free(vals); PQconninfoFree(opts); } diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index c26efeba1e..bd2acaac6b 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -811,7 +811,7 @@ initialize_environment(void) new_pgoptions = psprintf("%s %s", old_pgoptions, my_pgoptions); setenv("PGOPTIONS", new_pgoptions, 1); - free(new_pgoptions); + pfree(new_pgoptions); } if (temp_instance) @@ -997,7 +997,7 @@ current_windows_user(const char **acct, const char **dom) GetLastError()); } - free(tokenuser); + pg_free(tokenuser); *acct = accountname; *dom = domainname; @@ -1680,7 +1680,7 @@ wait_for_tests(PID_TYPE * pids, int *statuses, instr_time *stoptimes, } #ifdef WIN32 - free(active_pids); + pg_free(active_pids); #endif } diff --git a/src/test/regress/pg_regress_main.c b/src/test/regress/pg_regress_main.c index 701f3dd5d9..169646e351 100644 --- a/src/test/regress/pg_regress_main.c +++ b/src/test/regress/pg_regress_main.c @@ -82,7 +82,7 @@ psql_start_test(const char *testname, appnameenv = psprintf("pg_regress/%s", testname); setenv("PGAPPNAME", appnameenv, 1); - free(appnameenv); + pfree(appnameenv); pid = spawn_process(psql_cmd.data); -- Tristan Partin https://tristan.partin.io