aboutsummaryrefslogtreecommitdiff
path: root/contrib/pg_upgrade/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pg_upgrade/util.c')
-rw-r--r--contrib/pg_upgrade/util.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/contrib/pg_upgrade/util.c b/contrib/pg_upgrade/util.c
index d879e762fa2..1d4bc89f0bf 100644
--- a/contrib/pg_upgrade/util.c
+++ b/contrib/pg_upgrade/util.c
@@ -192,33 +192,39 @@ get_user_info(char **user_name)
void *
-pg_malloc(size_t n)
+pg_malloc(size_t size)
{
- void *p = malloc(n);
+ void *p;
+ /* Avoid unportable behavior of malloc(0) */
+ if (size == 0)
+ size = 1;
+ p = malloc(size);
if (p == NULL)
pg_log(PG_FATAL, "%s: out of memory\n", os_info.progname);
-
return p;
}
void *
-pg_realloc(void *ptr, size_t n)
+pg_realloc(void *ptr, size_t size)
{
- void *p = realloc(ptr, n);
+ void *p;
+ /* Avoid unportable behavior of realloc(NULL, 0) */
+ if (ptr == NULL && size == 0)
+ size = 1;
+ p = realloc(ptr, size);
if (p == NULL)
pg_log(PG_FATAL, "%s: out of memory\n", os_info.progname);
-
return p;
}
void
-pg_free(void *p)
+pg_free(void *ptr)
{
- if (p != NULL)
- free(p);
+ if (ptr != NULL)
+ free(ptr);
}