gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r38064 - libmicrohttpd/src/microhttpd


From: gnunet
Subject: [GNUnet-SVN] r38064 - libmicrohttpd/src/microhttpd
Date: Mon, 3 Oct 2016 23:13:35 +0200

Author: Karlson2k
Date: 2016-10-03 23:13:35 +0200 (Mon, 03 Oct 2016)
New Revision: 38064

Modified:
   libmicrohttpd/src/microhttpd/daemon.c
Log:
Fix out-of-buffer addressing when 'mhd.socket' is '-1'

Modified: libmicrohttpd/src/microhttpd/daemon.c
===================================================================
--- libmicrohttpd/src/microhttpd/daemon.c       2016-10-03 14:31:42 UTC (rev 
38063)
+++ libmicrohttpd/src/microhttpd/daemon.c       2016-10-03 21:13:35 UTC (rev 
38064)
@@ -715,17 +715,20 @@
                 const fd_set *rs,
                 const fd_set *ws)
 {
-  if (FD_ISSET (urh->connection->socket_fd,
-                rs))
+  const MHD_socket mhd_sckt = urh->mhd.socket;
+  const MHD_socket conn_sckt = urh->connection->socket_fd;
+
+  if ((MHD_INVALID_SOCKET != conn_sckt) &&
+      FD_ISSET (conn_sckt, rs))
     urh->app.celi |= MHD_EPOLL_STATE_READ_READY;
-  if (FD_ISSET (urh->connection->socket_fd,
-                ws))
+  if ((MHD_INVALID_SOCKET != conn_sckt) &&
+      FD_ISSET (conn_sckt, ws))
     urh->app.celi |= MHD_EPOLL_STATE_WRITE_READY;
-  if (FD_ISSET (urh->mhd.socket,
-                rs))
+  if ((MHD_INVALID_SOCKET != mhd_sckt) &&
+      FD_ISSET (mhd_sckt, rs))
     urh->mhd.celi |= MHD_EPOLL_STATE_READ_READY;
-  if (FD_ISSET (urh->mhd.socket,
-                ws))
+  if ((MHD_INVALID_SOCKET != mhd_sckt) &&
+      FD_ISSET (mhd_sckt, ws))
     urh->mhd.celi |= MHD_EPOLL_STATE_WRITE_READY;
 }
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]