]> granicus.if.org Git - libevent/commitdiff
be_sock: sanity check in bufferevent_socket_set_conn_address()
authorAzat Khuzhin <a3at.mail@gmail.com>
Tue, 2 Dec 2014 11:31:03 +0000 (14:31 +0300)
committerAzat Khuzhin <a3at.mail@gmail.com>
Tue, 18 Aug 2015 17:06:53 +0000 (20:06 +0300)
bufferevent_sock.c

index 9c4df626d82507245612787e459f175f9cd33819..71488571c239742a4d3a8b20b200490598122664 100644 (file)
@@ -121,7 +121,9 @@ static void
 bufferevent_socket_set_conn_address(struct bufferevent_private *bev_p,
        struct sockaddr *addr, size_t addrlen)
 {
-       memcpy(&bev_p->conn_address, addr, addrlen);
+       if (addrlen <= sizeof(bev_p->conn_address)) {
+               memcpy(&bev_p->conn_address, addr, addrlen);
+       }
 }
 
 static void