Skip to content

Commit dce5073

Browse files
committed
Turn 'if' condition around to avoid Svace complaint
The unwritten assumption of this code is that both events->head and events->tail are NULL together (an empty list) or they aren't. So the code was testing events->head for nullness and using that as a cue to deference events->tail, which annoys the Svace static code analyzer. We can silence it by testing events->tail member instead, and add an assertion about events->head to ensure it's all consistent. This code is very old and as far as we know, there's never been a bug report related to this, so there's no need to backpatch. This was found by the ALT Linux Team using Svace. Author: Alexander Kuznetsov <kuznetsovam@altlinux.org> Discussion: https://postgr.es/m/6d0323c3-3f5d-4137-af73-98a5ab90e77c@altlinux.org
1 parent 1ab67c9 commit dce5073

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/backend/commands/trigger.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4097,8 +4097,11 @@ afterTriggerAddEvent(AfterTriggerEventList *events,
40974097
chunk->endptr = chunk->endfree = (char *) chunk + chunksize;
40984098
Assert(chunk->endfree - chunk->freeptr >= needed);
40994099

4100-
if (events->head == NULL)
4100+
if (events->tail == NULL)
4101+
{
4102+
Assert(events->head == NULL);
41014103
events->head = chunk;
4104+
}
41024105
else
41034106
events->tail->next = chunk;
41044107
events->tail = chunk;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy