Thread
-
[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--