changeset 22689:ac58eecfb8b0

director: Fix logging of uninitialized PONG buffer size PONG always has 0 or 2 parameters. The easiest fix here is to just not even try to support 1 parameter.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 27 Nov 2017 11:58:39 +0200
parents 09f5d34ff1fc
children b66965f62ae8
files src/director/director-connection.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/director/director-connection.c	Sun Nov 26 23:00:30 2017 +0200
+++ b/src/director/director-connection.c	Mon Nov 27 11:58:39 2017 +0200
@@ -1872,10 +1872,12 @@
 	conn->ping_waiting = FALSE;
 	timeout_remove(&conn->to_pong);
 
-	if (args[0] == NULL || str_to_time(args[0], &sent_time) < 0)
+	if (str_array_length(args) < 2 ||
+	    str_to_time(args[0], &sent_time) < 0 ||
+	    str_to_uintmax(args[1], &send_buffer_size) < 0) {
 		sent_time = 0;
-	else if (args[1] == NULL || str_to_uintmax(args[1], &send_buffer_size) < 0)
 		send_buffer_size = (uintmax_t)-1;
+	}
 
 	int ping_msecs = timeval_diff_msecs(&ioloop_timeval, &conn->ping_sent_time);
 	if (ping_msecs >= 0) {