Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:mark-ngn:rsyslog
rsyslog
0001-Avoid-crash-on-restart-in-imrelp-SIGTTIN-h...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Avoid-crash-on-restart-in-imrelp-SIGTTIN-handler.patch of Package rsyslog
From d77cb3ed8a5b40a40e10b570b584339155c256c9 Mon Sep 17 00:00:00 2001 From: Ali Abdallah <ali.abdallah@suse.com> Date: Thu, 31 Aug 2023 09:20:17 +0200 Subject: [PATCH] Avoid crash on restart in imrelp SIGTTIN handler While existing, if at specific time rsyslog receives a SIGTTIN, it crashes due to 2 issues. 1. debug.unloadModules="off" a double free of pRelpEngine 2. debug.unloadModules="on" it crashes because the signal handler has been unmapped from memory. This patch covers both issues and fixes #5219. --- plugins/imrelp/imrelp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/imrelp/imrelp.c b/plugins/imrelp/imrelp.c index 5d7d16a48..4f9295c8d 100644 --- a/plugins/imrelp/imrelp.c +++ b/plugins/imrelp/imrelp.c @@ -839,7 +839,7 @@ static void doSIGTTIN(int __attribute__((unused)) sig) { const int bTerminate = ATOMIC_FETCH_32BIT(&bTerminateInputs, &mutTerminateInputs); - if(bTerminate) { + if(bTerminate && (pRelpEngine != NULL)) { relpEngineSetStop(pRelpEngine); } } @@ -882,6 +882,12 @@ ENDafterRun BEGINmodExit CODESTARTmodExit + struct sigaction newAct; + memset(&newAct, 0, sizeof (newAct)); + sigemptyset(&newAct.sa_mask); + newAct.sa_handler = SIG_IGN; + sigaction(SIGTTIN, &newAct, NULL); + if(pRelpEngine != NULL) iRet = relpEngineDestruct(&pRelpEngine); -- 2.42.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor