]> granicus.if.org Git - sudo/commitdiff
Fix workaround for broken sudo 1.8.7 timing files.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 13 Oct 2018 14:08:16 +0000 (08:08 -0600)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Sat, 13 Oct 2018 14:08:16 +0000 (08:08 -0600)
plugins/sudoers/iolog.h
plugins/sudoers/iolog_util.c

index f2748b4fbf671074e072de98bd9483db7c3549a9..d803a15b790d504ae4e9176e6207e2e7fb0d2e80 100644 (file)
@@ -31,8 +31,9 @@
 #define IO_EVENT_TTYIN         3
 #define IO_EVENT_TTYOUT                4
 #define IO_EVENT_WINSIZE       5
-#define IO_EVENT_SUSPEND       6
-#define IO_EVENT_COUNT         7
+#define IO_EVENT_TTYOUT_1_8_7  6
+#define IO_EVENT_SUSPEND       7
+#define IO_EVENT_COUNT         8
 
 /* Default maximum session ID */
 #define SESSID_MAX      2176782336U
index e3bb2e2e3a3bc2314bd8fea980f5b1bc015cb91f..b25a51cd0abbf490ba0af76a32c90c87e0fe9249 100644 (file)
@@ -310,9 +310,9 @@ parse_timing(const char *buf, struct timespec *delay,
     ulval = strtoul(buf, &ep, 10);
     if (ep == buf || !isspace((unsigned char) *ep))
        goto bad;
-    if (ulval >= IO_EVENT_COUNT) {
-       if (ulval != 6)
-           goto bad;
+    if (ulval >= IO_EVENT_COUNT)
+       goto bad;
+    if (ulval == IO_EVENT_TTYOUT_1_8_7) {
        /* work around a bug in timing files generated by sudo 1.8.7 */
        timing_event_adj = 2;
     }