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:05 +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 ea30d6f8f0d67c26dc9c4a8374ffc597b41cd8c2..77dbf4f92ff80206f63ad638f74e7031b40a3c83 100644 (file)
@@ -2620,7 +2620,7 @@ CreateSharedBackendStatus(void)
 
    if (!found)
    {
-       MemSet(BackendActivityBuffer, 0, size);
+       MemSet(BackendActivityBuffer, 0, BackendActivityBufferSize);
 
        /* Initialize st_activity pointers. */
        buffer = BackendActivityBuffer;