Em qui., 11 de abr. de 2024 às 09:54, Heikki Linnakangas <hlinn...@iki.fi>
escreveu:

> On 11/04/2024 15:03, Ranier Vilela wrote:
> > Em qua., 10 de abr. de 2024 às 18:28, Heikki Linnakangas
> > <hlinn...@iki.fi <mailto:hlinn...@iki.fi>> escreveu:
> >
> >     On 10/04/2024 21:07, Ranier Vilela wrote:
> >      > Hi,
> >      >
> >      > Per Coverity.
> >      >
> >      > The function ReorderBufferTXNByXid,
> >      > can return NULL when the parameter *create* is false.
> >      >
> >      > In the functions ReorderBufferSetBaseSnapshot
> >      > and ReorderBufferXidHasBaseSnapshot,
> >      > the second call to ReorderBufferTXNByXid,
> >      > pass false to *create* argument.
> >      >
> >      > In the function ReorderBufferSetBaseSnapshot,
> >      > fixed passing true as argument to always return
> >      > a valid ReorderBufferTXN pointer.
> >      >
> >      > In the function ReorderBufferXidHasBaseSnapshot,
> >      > fixed by checking if the pointer is NULL.
> >
> >     If it's a "known subxid", the top-level XID should already have its
> >     ReorderBufferTXN entry, so ReorderBufferTXN() should never return
> NULL.
> >
> > There are several conditions to not return NULL,
> > I think trusting never is insecure.
>
> Well, you could make it an elog(ERROR, ..) instead. But the point is
> that it should not happen, and if it does for some reason, that's very
> suprpising and there is a bug somewhere. In that case, we should *not*
> just blindly create it and proceed as if everything was OK.
>
Thanks for the clarification.
I will then suggest improving robustness,
but avoiding hiding any possible errors that may occur.

v1 patch attached.

best regards,
Ranier Vilela

Attachment: v1-fix-possible-dereference-null-pointer-reorderbuffer.patch
Description: Binary data

Reply via email to