Просмотр исходного кода

Ensure no garbage left in msghdr for sendmsg call

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
Jan Friesse 13 лет назад
Родитель
Сommit
7026fffdf9
2 измененных файлов с 4 добавлено и 0 удалено
  1. 2 0
      exec/totemudp.c
  2. 2 0
      exec/totemudpu.c

+ 2 - 0
exec/totemudp.c

@@ -280,6 +280,7 @@ static inline void ucast_sendmsg (
 	/*
 	 * Build unicast message
 	 */
+	memset(&msg_ucast, 0, sizeof(msg_ucast));
 	totemip_totemip_to_sockaddr_convert(system_to,
 		instance->totem_interface->ip_port, &sockaddr, &addrlen);
 	msg_ucast.msg_name = &sockaddr;
@@ -349,6 +350,7 @@ static inline void mcast_sendmsg (
 	 */
 	totemip_totemip_to_sockaddr_convert(&instance->mcast_address,
 		instance->totem_interface->ip_port, &sockaddr, &addrlen);
+	memset(&msg_mcast, 0, sizeof(msg_mcast));
 	msg_mcast.msg_name = &sockaddr;
 	msg_mcast.msg_namelen = addrlen;
 	msg_mcast.msg_iov = (void *)&iovec;

+ 2 - 0
exec/totemudpu.c

@@ -277,6 +277,7 @@ static inline void ucast_sendmsg (
 	 */
 	totemip_totemip_to_sockaddr_convert(system_to,
 		instance->totem_interface->ip_port, &sockaddr, &addrlen);
+	memset(&msg_ucast, 0, sizeof(msg_ucast));
 	msg_ucast.msg_name = &sockaddr;
 	msg_ucast.msg_namelen = addrlen;
 	msg_ucast.msg_iov = (void *)&iovec;
@@ -340,6 +341,7 @@ static inline void mcast_sendmsg (
 	iovec.iov_base = (void *)buf_out;
 	iovec.iov_len = buf_out_len;
 
+	memset(&msg_mcast, 0, sizeof(msg_mcast));
 	/*
 	 * Build multicast message
 	 */