Re: [PATCH] Check for TupleTableSlot nullness before dereferencing

From: Alexander Kuznetsov <kuznetsovam(at)altlinux(dot)org>
To: Daniel Gustafsson <daniel(at)yesql(dot)se>
Cc: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, egori(at)altlinux(dot)org, nickel(at)altlinux(dot)org
Subject: Re: [PATCH] Check for TupleTableSlot nullness before dereferencing
Date: 2024-12-13 08:54:35
Message-ID: 18bda8da-1ab0-4a4d-9aca-826610a244a8@altlinux.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Kuznetsov 2024-12-13 08:57:18 Re: Detect buffer underflow in get_th()
Previous Message Yuya Watari 2024-12-13 08:44:11 Re: [PoC] Reducing planning time when tables have many partitions