Re: Insecure initialization of required_relids field - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Insecure initialization of required_relids field
Date
Msg-id 29956.1563198507@sss.pgh.pa.us
Whole thread Raw
In response to Insecure initialization of required_relids field  (Andrey Lepikhov <a.lepikhov@postgrespro.ru>)
Responses Re: Insecure initialization of required_relids field  (Andrey Lepikhov <a.lepikhov@postgrespro.ru>)
List pgsql-hackers
Andrey Lepikhov <a.lepikhov@postgrespro.ru> writes:
> commit a31ad27fc5d introduced required_relids field. By default, it 
> links to the clause_relids.
> It works good while we do not modify clause_relids or required_relids.
> But in the case of modification such initialization demands us to 
> remember, that this field is shared. And we need to do bms_copy() before 
> making any changes (see [1] for example).
> Also, we make some changes of the RestrictInfo fields (see patch [2]) 
> during removing of unneeded self joins.
> I propose to do more secure initialization way of required_relids (see 
> patch in attachment).

This seems fairly expensive (which is why it wasn't done like that
to start with) and you've pointed to no specific bug that it fixes.
Seeing that (a) the original commit is 14 years old, and (b) changing
either of these fields after-the-fact is at most a very niche usage,
I don't think we really have a problem here.

            regards, tom lane



pgsql-hackers by date:

Previous
From: James Coleman
Date:
Subject: Re: [PATCH] Incremental sort (was: PoC: Partial sort)
Next
From: Robert Haas
Date:
Subject: Re: Adding SMGR discriminator to buffer tags