Fix crash on syslogger startup
authorHeikki Linnakangas <[email protected]>
Fri, 6 Oct 2023 07:22:02 +0000 (10:22 +0300)
committerHeikki Linnakangas <[email protected]>
Fri, 6 Oct 2023 07:22:02 +0000 (10:22 +0300)
When syslogger starts up, ListenSockets is still NULL. Don't try to
pfree it. Oversight in commit e29c464395.

Reported-by: Michael Paquier
Discussion: https://www.postgresql.org/message-id/[email protected]

src/backend/postmaster/postmaster.c

index 0d876c61fd70d7bd6e80c3902f6e65605acf07ad..bc3c992a3a3c443876b1052dccfd3ee327323e79 100644 (file)
@@ -2565,10 +2565,13 @@ ClosePostmasterPorts(bool am_syslogger)
     * EXEC_BACKEND mode.
     */
 #ifndef EXEC_BACKEND
-   for (int i = 0; i < NumListenSockets; i++)
-       StreamClose(ListenSockets[i]);
+   if (ListenSockets)
+   {
+       for (int i = 0; i < NumListenSockets; i++)
+           StreamClose(ListenSockets[i]);
+       pfree(ListenSockets);
+   }
    NumListenSockets = 0;
-   pfree(ListenSockets);
    ListenSockets = NULL;
 #endif