Add sigsetjmp() calls to all plugin entry points just to be safe.
This commit is contained in:
@@ -386,6 +386,11 @@ sudoers_io_close(int exit_status, int error)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (sigsetjmp(error_jmp, 1)) {
|
||||
/* called via error(), errorx() or log_error() */
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < IOFD_MAX; i++) {
|
||||
if (io_fds[i].v == NULL)
|
||||
continue;
|
||||
@@ -401,6 +406,11 @@ sudoers_io_close(int exit_status, int error)
|
||||
static int
|
||||
sudoers_io_version(int verbose)
|
||||
{
|
||||
if (sigsetjmp(error_jmp, 1)) {
|
||||
/* called via error(), errorx() or log_error() */
|
||||
return -1;
|
||||
}
|
||||
|
||||
sudo_printf(SUDO_CONV_INFO_MSG, "Sudoers I/O plugin version %s\n",
|
||||
PACKAGE_VERSION);
|
||||
|
||||
@@ -414,6 +424,11 @@ sudoers_io_log(const char *buf, unsigned int len, int idx)
|
||||
|
||||
gettimeofday(&now, NULL);
|
||||
|
||||
if (sigsetjmp(error_jmp, 1)) {
|
||||
/* called via error(), errorx() or log_error() */
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef HAVE_ZLIB_H
|
||||
if (def_compress_io)
|
||||
gzwrite(io_fds[idx].g, buf, len);
|
||||
|
Reference in New Issue
Block a user