[CIFS] Copy struct *after* setting the port, instead of before.
authorSimo Leone <simo@archlinux.org>
Thu, 25 Jun 2009 02:44:43 +0000 (02:44 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 25 Jun 2009 02:44:43 +0000 (02:44 +0000)
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Simo Leone <simo@archlinux.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/connect.c

index a581cfa2ba82409d24623878da8d9a6adc578bf1..12c2cf693555a9611865b5a3ef392febd3ce398c 100644 (file)
@@ -1496,14 +1496,14 @@ cifs_get_tcp_session(struct smb_vol *volume_info)
                cFYI(1, ("attempting ipv6 connect"));
                /* BB should we allow ipv6 on port 139? */
                /* other OS never observed in Wild doing 139 with v6 */
+               sin_server6->sin6_port = htons(volume_info->port);
                memcpy(&tcp_ses->addr.sockAddr6, sin_server6,
                        sizeof(struct sockaddr_in6));
-               sin_server6->sin6_port = htons(volume_info->port);
                rc = ipv6_connect(tcp_ses);
        } else {
+               sin_server->sin_port = htons(volume_info->port);
                memcpy(&tcp_ses->addr.sockAddr, sin_server,
                        sizeof(struct sockaddr_in));
-               sin_server->sin_port = htons(volume_info->port);
                rc = ipv4_connect(tcp_ses);
        }
        if (rc < 0) {