Fix incorrect initialization of BackendActivityBuffer.
authorTom Lane
Tue, 7 Aug 2018 20:00:44 +0000 (16:00 -0400)
committerTom Lane
Tue, 7 Aug 2018 20:01:14 +0000 (16:01 -0400)
Since commit c8e8b5a6e, this has been zeroed out using the wrong length.
In practice the length would always be too small, leading to not zeroing
the whole buffer rather than clobbering additional memory; and that's
pretty harmless, both because shmem would likely start out as zeroes
and because we'd reinitialize any given entry before use.  Still,
it's bogus, so fix it.

Reported by Petru-Florin Mihancea (bug #15312)

Discussion: https://postgr.es/m/153363913073.1303.6518849192351268091@wrigleys.postgresql.org

src/backend/postmaster/pgstat.c

index 64b32d8578a799076c4888ea2ddffdb09d938214..236ebadddda53297e0cd73ba3605fc2b0b6e37ef 100644 (file)
@@ -2516,7 +2516,7 @@ CreateSharedBackendStatus(void)
 
    if (!found)
    {
-       MemSet(BackendActivityBuffer, 0, size);
+       MemSet(BackendActivityBuffer, 0, BackendActivityBufferSize);
 
        /* Initialize st_activity pointers. */
        buffer = BackendActivityBuffer;