From b6dd1271281ce856ab774fc0b491a92878e3b501 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 16 Apr 2017 23:23:44 -0400 Subject: Ensure BackgroundWorker struct contents are well-defined. Coverity complained because bgw.bgw_extra wasn't being filled in by ApplyLauncherRegister(). The most future-proof fix is to memset the whole BackgroundWorker struct to zeroes. While at it, let's apply the same coding rule to other places that set up BackgroundWorker structs; four out of five had the same or related issues. --- src/backend/access/transam/parallel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/backend/access/transam/parallel.c') diff --git a/src/backend/access/transam/parallel.c b/src/backend/access/transam/parallel.c index 04fa2ed4550..2dad3e8a655 100644 --- a/src/backend/access/transam/parallel.c +++ b/src/backend/access/transam/parallel.c @@ -435,6 +435,7 @@ LaunchParallelWorkers(ParallelContext *pcxt) oldcontext = MemoryContextSwitchTo(TopTransactionContext); /* Configure a worker. */ + memset(&worker, 0, sizeof(worker)); snprintf(worker.bgw_name, BGW_MAXLEN, "parallel worker for PID %d", MyProcPid); worker.bgw_flags = @@ -446,7 +447,6 @@ LaunchParallelWorkers(ParallelContext *pcxt) sprintf(worker.bgw_function_name, "ParallelWorkerMain"); worker.bgw_main_arg = UInt32GetDatum(dsm_segment_handle(pcxt->seg)); worker.bgw_notify_pid = MyProcPid; - memset(&worker.bgw_extra, 0, BGW_EXTRALEN); /* * Start workers. -- cgit v1.2.3