sudo: fix #254 (upstream patch).

This commit is contained in:
Juan RP 2014-01-15 09:03:47 +01:00
parent 821373a220
commit 793eee150d
2 changed files with 34 additions and 1 deletions

View file

@ -0,0 +1,33 @@
# HG changeset patch
# User Todd C. Miller <Todd.Miller@courtesan.com>
# Date 1389722096 25200
# Node ID a204b69d91f786444899ce3fc95ed535b6e32d33
# Parent 987087ce465828da121b9d67412f42feaea06d56
If not logging I/O we may get EOF when the command is executed and
the other end of the backchannel is closed. Just remove the
backchannel event in this case or we will continue to receive
the event. Bug #631
--- src/exec.c Tue Jan 14 09:26:14 2014 -0700
+++ src/exec.c Tue Jan 14 10:54:56 2014 -0700
@@ -230,11 +230,14 @@
/* Short read or EOF. */
sudo_debug_printf(SUDO_DEBUG_ERROR,
"failed to read child status: %s", n ? "short read" : "EOF");
- /*
- * If not logging I/O we may get EOF when the command is
- * executed and sv is closed. It is safe to ignore this.
- */
- if (ec->log_io || n != 0) {
+ if (!ec->log_io && n == 0) {
+ /*
+ * If not logging I/O we may get EOF when the command is
+ * executed and the other end of the backchannel is closed.
+ * Just remove the event in this case.
+ */
+ (void)sudo_ev_del(ec->evbase, backchannel_event);
+ } else {
/* XXX - need new CMD_ type for monitor errors. */
errno = n ? EIO : ECONNRESET;
ec->cstat->type = CMD_ERRNO;

View file

@ -1,7 +1,7 @@
# Template build file for 'sudo'.
pkgname=sudo
version=1.8.9p3
revision=1
revision=2
build_style=gnu-configure
configure_args="--with-ignore-dot -with-all-insults --with-env-editor
--enable-shell-sets-home --enable-noargs-shell --without-sendmail