From 6787e53fe59eed19095c771a8d3323fb59420733 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 12 Apr 2021 20:29:24 +0200 Subject: [PATCH] pg_upgrade: Print OID using %u instead of %d This could write wrong output into the cluster deletion script if a database OID exceeds the signed 32-bit range. --- src/bin/pg_upgrade/check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index d77183b8d12..1c1c908664d 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -600,7 +600,7 @@ create_script_for_old_cluster_deletion(char **deletion_script_file_name) PATH_SEPARATOR); for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++) - fprintf(script, RMDIR_CMD " %c%s%c%d%c\n", PATH_QUOTE, + fprintf(script, RMDIR_CMD " %c%s%c%u%c\n", PATH_QUOTE, fix_path_separator(os_info.old_tablespaces[tblnum]), PATH_SEPARATOR, old_cluster.dbarr.dbs[dbnum].db_oid, PATH_QUOTE); -- 2.39.5