Re: Avoid possible deference NULL pointer (src/backend/optimizer/path/allpaths.c) - Mailing list pgsql-hackers

From Ilia Evdokimov
Subject Re: Avoid possible deference NULL pointer (src/backend/optimizer/path/allpaths.c)
Date
Msg-id de25a69a-8604-454d-8011-4a9f574a2d69@tantorlabs.com
Whole thread Raw
In response to Re: Avoid possible deference NULL pointer (src/backend/optimizer/path/allpaths.c)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers


On 05.02.2025 21:56, Tom Lane wrote:
It's not a bug.  Since the call specifies NIL pathkeys (meaning it
doesn't care about sort order) and does not insist on a parallel-safe
path, there should always be a path that satisfies it.  The only
way it could fail to find a path is if the rel's pathlist is entirely
empty, a case already rejected by the sole caller.

Moreover, the argument that we might not have gotten a report is not
credible.  In a production build without an Assert, the next line
would still dump core just as effectively if the result were NULL.

While the proposed patch doesn't break anything, it's removing a
logic cross-check that was put there intentionally.  So I don't
find it to be an improvement.
			regards, tom lane


Ah, if this Assert was intentionally added to ensure that a path must be always found under the given conditions, and that any issues with this can be detected in the right place, then I agree. The patch likely makes worse.

--
Best regards,
Ilia Evdokimov,
Tantor Labs LLC.

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: New GUC autovacuum_max_threshold ?
Next
From: Jeff Davis
Date:
Subject: Re: Confusing variable naming in LWLockRelease