Add missing pointer dereference in pg_backend_memory_contexts view

32d3ed816 moved the logic for setting the context's name and ident into
a reusable function.  I missed adding a pointer dereference after
copying and pasting the code into that function.  The ident parameter is
a pointer to the ident variable in the calling function, so the
dereference is required to correctly determine if the contents of that
variable is NULL or not.

In passing, adjust the if condition to include an == NULL to make it
more clear that it's not checking for == '\0'.

Reported-by: Tom Lane, Coverity
Discussion: https://postgr.es/m/2256588.1722184287@sss.pgh.pa.us
This commit is contained in:
David Rowley 2024-07-29 09:53:10 +12:00
parent c0ef1234df
commit da87dc07f1

View File

@ -55,7 +55,7 @@ get_memory_context_name_and_ident(MemoryContext context, const char **const name
* To be consistent with logging output, we label dynahash contexts with
* just the hash table name as with MemoryContextStatsPrint().
*/
if (ident && strcmp(*name, "dynahash") == 0)
if (*ident == NULL && strcmp(*name, "dynahash") == 0)
{
*name = *ident;
*ident = NULL;