]> granicus.if.org Git - postgresql/commitdiff
Fix incorrect initialization of BackendActivityBuffer.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Aug 2018 20:00:44 +0000 (16:00 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Aug 2018 20:00:44 +0000 (16:00 -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 bbe73618c786c1c884c08c5f133234c721c644bd..a5d129129613710bd8135eacffa124248c53cf5d 100644 (file)
@@ -2695,7 +2695,7 @@ CreateSharedBackendStatus(void)
 
        if (!found)
        {
-               MemSet(BackendActivityBuffer, 0, size);
+               MemSet(BackendActivityBuffer, 0, BackendActivityBufferSize);
 
                /* Initialize st_activity pointers. */
                buffer = BackendActivityBuffer;