Jelajahi Sumber

Merge remote-tracking branch 'qubesos/pr/102'

* qubesos/pr/102:
  qrexec-fork-server: Always initialize addrlen argument of accept()
Marek Marczykowski-Górecki 6 tahun lalu
induk
melakukan
2301da6e6f
1 mengubah file dengan 5 tambahan dan 2 penghapusan
  1. 5 2
      qrexec/qrexec-fork-server.c

+ 5 - 2
qrexec/qrexec-fork-server.c

@@ -112,12 +112,15 @@ int main(int argc, char **argv) {
     signal(SIGCHLD, SIG_IGN);
     register_exec_func(do_exec);
 
-    while ((fd = accept(s, (struct sockaddr *) &peer, &addrlen)) >= 0) {
+    while (1) {
+        addrlen = sizeof(peer);
+        fd = accept(s, (struct sockaddr *) &peer, &addrlen);
+        if (fd < 0)
+            break;
         if (read_all(fd, &info, sizeof(info))) {
             handle_single_command(fd, &info);
         }
         close(fd);
-        addrlen = sizeof(peer);
     }
     close(s);
     unlink(socket_path);