Commit d59ff4ab authored by Tom Lane's avatar Tom Lane

Fix another instance of unsafe coding for shm_toc_lookup failure.

One or another author of commit 5bcf389e seems to have thought that
computing an offset from a NULL pointer would yield another NULL pointer.
There may possibly be architectures where that works, but common machines
don't work like that.  Per a quick code review of places calling
shm_toc_lookup and not using noError = false.
parent 957ff087
......@@ -2582,9 +2582,13 @@ ExecHashInitializeWorker(HashState *node, ParallelWorkerContext *pwcxt)
{
SharedHashInfo *shared_info;
/* might not be there ... */
shared_info = (SharedHashInfo *)
shm_toc_lookup(pwcxt->toc, node->ps.plan->plan_node_id, true);
node->hinstrument = &shared_info->hinstrument[ParallelWorkerNumber];
if (shared_info)
node->hinstrument = &shared_info->hinstrument[ParallelWorkerNumber];
else
node->hinstrument = NULL;
}
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment