Auth: handle socket read errors in Dovecot authenticator
authorBruce Lee <straightblast426@gmail.com>
Tue, 30 Jul 2019 21:43:14 +0000 (22:43 +0100)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Mon, 2 Sep 2019 22:18:04 +0000 (00:18 +0200)
(cherry picked from commit c9f1be94cc304f0343c93b66efa41a747d307fb1)
(cherry picked from commit 4ba26a040b8765dea7134c883d046418a8b053a1)

src/src/auths/dovecot.c

index b1dde06aff725c15d1bf0f053b26675122754734..b1c2c6f85bd12d368ec9222814dcad962695bcb8 100644 (file)
@@ -212,8 +212,8 @@ for (;;)
   {
   if (socket_buffer_left == 0)
     {
-    socket_buffer_left = read(fd, sbuffer, sizeof(sbuffer));
-    if (socket_buffer_left == 0) { if (count == 0) return NULL; else break; }
+    if ((socket_buffer_left = read(fd, sbuffer, sizeof(sbuffer))) <= 0)
+      if (count == 0) return NULL; else break;
     p = 0;
     }