[IPV4] TCPMD5: Use memmove() instead of memcpy() because we have overlaps.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Wed, 21 Nov 2007 01:30:31 +0000 (17:30 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Nov 2007 01:30:31 +0000 (17:30 -0800)
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_ipv4.c

index ff360968b9103832054a7b2b0c8739fde66ffba6..652c32368cccb6cb590c2c4eec96b77026288d0b 100644 (file)
@@ -938,10 +938,10 @@ int tcp_v4_md5_do_del(struct sock *sk, __be32 addr)
                                tp->md5sig_info->alloced4 = 0;
                        } else if (tp->md5sig_info->entries4 != i) {
                                /* Need to do some manipulation */
-                               memcpy(&tp->md5sig_info->keys4[i],
-                                      &tp->md5sig_info->keys4[i+1],
-                                      (tp->md5sig_info->entries4 - i) *
-                                       sizeof(struct tcp4_md5sig_key));
+                               memmove(&tp->md5sig_info->keys4[i],
+                                       &tp->md5sig_info->keys4[i+1],
+                                       (tp->md5sig_info->entries4 - i) *
+                                        sizeof(struct tcp4_md5sig_key));
                        }
                        tcp_free_md5sig_pool();
                        return 0;