Thread

  1. [PATCH] Sanity check BackgroundWorker's function entry

    Adam Lee <adam8157@gmail.com> — 2020-02-11T05:50:35Z

    Without this, the error we got would be "can not find file/function" in
    the load_external_function(), which is not obvious enough.
    ---
     src/backend/postmaster/bgworker.c | 8 ++++++++
     1 file changed, 8 insertions(+)
    
    diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c
    index 75fc0d5d33..85f5d84783 100644
    --- a/src/backend/postmaster/bgworker.c
    +++ b/src/backend/postmaster/bgworker.c
    @@ -637,6 +637,14 @@ SanityCheckBackgroundWorker(BackgroundWorker *worker, int elevel)
     	if (strcmp(worker->bgw_type, "") == 0)
     		strcpy(worker->bgw_type, worker->bgw_name);
     
    +	if (!worker->bgw_library_name[0] || !worker->bgw_function_name[0])
    +	{
    +		ereport(elevel,
    +			(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
    +			 errmsg("background worker: invalid entry function")));
    +		return false;
    +	}
    +
     	return true;
     }
     
    -- 
    2.25.0
    
    
    --DocE+STaALJfprDB--