diff --git a/contrib/pg_upgrade/function.c b/contrib/pg_upgrade/function.c
index 988486b4503015d0ba05d614a74ba8001e689f0e..267f29143db34b3d404e34f9b05598e5953bc777 100644
--- a/contrib/pg_upgrade/function.c
+++ b/contrib/pg_upgrade/function.c
@@ -225,7 +225,7 @@ check_loadable_libraries(void)
 	{
 		char	   *lib = os_info.libraries[libnum];
 		int			llen = strlen(lib);
-		char	   *cmd = (char *) pg_malloc(8 + 2 * llen + 1);
+		char		cmd[7 + 2 * MAXPGPATH + 1];
 		PGresult   *res;
 
 		/*
@@ -266,7 +266,6 @@ check_loadable_libraries(void)
 		}
 
 		PQclear(res);
-		pg_free(cmd);
 	}
 
 	PQfinish(conn);