Kaynağa Gözat

The proper fix for MHD_get_connection_info()

This is a correction for 35c9e7189e9167e8ba3db65fdf404691643ad695
Evgeny Grin (Karlson2k) 2 yıl önce
ebeveyn
işleme
31ce530d6b
1 değiştirilmiş dosya ile 4 ekleme ve 4 silme
  1. 4 4
      src/microhttpd/connection.c

+ 4 - 4
src/microhttpd/connection.c

@@ -5432,11 +5432,11 @@ MHD_get_connection_info (struct MHD_Connection *connection,
   case MHD_CONNECTION_INFO_CLIENT_ADDRESS:
     if (0 < connection->addr_len)
     {
-      memset (&connection->connection_info_dummy.client_addr, 0,
-              sizeof (connection->connection_info_dummy.client_addr));
+      mhd_assert (sizeof (connection->addr) == \
+                  sizeof (connection->connection_info_dummy.client_addr));
       memcpy (&connection->connection_info_dummy.client_addr,
-              connection->addr,
-              (size_t) connection->addr_len);
+              &connection->addr,
+              sizeof(connection->addr));
       return &connection->connection_info_dummy;
     }
     return NULL;