Re: [PATCH] Check for TupleTableSlot nullness before dereferencing

Alexander Kuznetsov <kuznetsovam@altlinux.org>

From: Alexander Kuznetsov <kuznetsovam@altlinux.org>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>, egori@altlinux.org, nickel@altlinux.org
Date: 2024-12-13T08:54:35Z
Lists: pgsql-hackers
Hello,

ping. What do you think about reasoning below? Maybe we should consider
proposing different patch for removing redundant check there?

09.10.2024 18:23, Alexander Kuznetsov wrote:
> 03.10.2024 12:48, Daniel Gustafsson wrote:
>>  From a quick reading we can only reach there after evaluating an expression, so
>> can it really be null though?  This code hasn't changed all that much since
>> 2009, if there was a reachable segfault on a null pointer deref I have a
>> feeling we'd heard about it by now so some extra care seems warranted to ensure
>> it's not a static analyzer false positive.
> Thanks for your response!
> It seems to me that dereferencing is possible under the following scenario:
> [...]
> This entire reasoning is based on the assumption that slot2 can theoretically be NULL, as there is such a check at line 968.
> Is it possible that no errors have occurred because this condition has always been satisfied and is, perhaps, redundant, or maybe I'm misunderstanding something?

-- 
Best regards,
Alexander Kuznetsov