Procházet zdrojové kódy

client: fix bug in write_all function

In an error condition, the count parameter would be returned instead of
the number of bytes written. Discovered by static analysis.
Davin McCall před 6 měsíci
rodič
revize
96a0538a1e
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      src/includes/dinit-client.h

+ 1 - 1
src/includes/dinit-client.h

@@ -214,7 +214,7 @@ inline int write_all(int fd, const void *buf, int count)
         int r = write(fd, cbuf, count);
         if (r == -1) {
             if (errno == EINTR) continue;
-            return (count > 0) ? count : r;
+            return (w > 0) ? w : r;
         }
         w += r;
         cbuf += r;