From: | Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Possible NULL dereferencing null pointer (src/backend/executor/nodeIncrementalSort.c) |
Date: | 2020-10-11 10:39:07 |
Message-ID: | CAEudQArQaWUrRXgz7yvMb9QwQz5B7-x_ZDtQYF4VFADvq+SnsA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Em sáb., 10 de out. de 2020 às 00:11, David G. Johnston <
david(dot)g(dot)johnston(at)gmail(dot)com> escreveu:
> On Fri, Oct 9, 2020 at 6:41 PM Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> wrote:
>
>> The problem is not only in nodeIncrementalSort.c, but in several others
>> too, where people are using TupIsNull with ExecCopySlot.
>> I would call this a design flaw.
>> If (TupIsNull)
>> ExecCopySlot
>>
>> The callers, think they are using TupIsNotNullAndEmpty.
>> If (TupIsNotNullAndEmpty)
>> ExecCopySlot
>>
>
> IMO both names are problematic, too data value centric, not semantic.
> TupIsValid for the name and negating the existing tests would help to at
> least clear that part up. Then, things operating on invalid tuples would
> be expected to know about both representations. In the case of
> ExecCopySlot there is nothing it can do with a null representation of an
> invalid tuple so it would have to fail if presented one. An assertion
> seems sufficient.
>
IHMO, assertion it is not the solution.
Steven suggested looking for some NULL pointer font above the calls.
I say that it is not necessary, there is no NULL pointer.
Whoever guarantees this is the combination, which for me is an assertion.
If (TupIsNull)
ExecCopySlot
It works as a subject, but in release mode.
It is the equivalent of:
If (TupIsNull)
Abort
The only problem for me is that we are running this assertion on the
clients' machines.
regards,
Ranier Vilela
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-10-11 17:12:40 | Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add |
Previous Message | Michael Paquier | 2020-10-11 10:27:20 | Re: speed up unicode normalization quick check |