postgres.git / summary / log / commit / refs

commit    9016a2a3dc4ee7e41ecda5a8b3a3d3481de94964
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sun Mar 27 16:57:46 2022 +0000
First released in: 15.0, 13.7, 14.3

    Fix breakage of get_ps_display() in the PS_USE_NONE case.
    
    Commit 8c6d30f21 caused this function to fail to set *displen
    in the PS_USE_NONE code path.  If the variable's previous value
    had been negative, that'd lead to a memory clobber at some call
    sites.  We'd managed not to notice due to very thin test coverage
    of such configurations, but this appears to explain buildfarm member
    lorikeet's recent struggles.
    
    Credit to Andrew Dunstan for spotting the problem.  Back-patch
    to v13 where the bug was introduced.
    
    Discussion: https://postgr.es/m/136102.1648320427@sss.pgh.pa.us


src/backend/utils/misc/ps_status.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c index 1e8596e6645..46d73280d58 100644 --- a/src/backend/utils/misc/ps_status.c +++ b/src/backend/utils/misc/ps_status.c @@ -443,6 +443,7 @@ get_ps_display(int *displen) return ps_buffer + ps_buffer_fixed_size; #else + *displen = 0; return ""; #endif } [parent: 3d4d6dee0777]