diff --git a/net/netfilter/nf_conntrack_irc.c b/net/netfilter/nf_conntrack_irc.c index ec859a23acf3..912e6d1a8f59 100644 --- a/net/netfilter/nf_conntrack_irc.c +++ b/net/netfilter/nf_conntrack_irc.c @@ -150,10 +150,11 @@ static bool mangle_ip(struct nf_conn *ct, *do not mangle the DCC Server IP */ if (temp->server_ip == tuple->dst.u3.ip && - (temp->nickname_len == nick_end - nick_start) && - (memcmp(nick_start, temp->nickname, - temp->nickname_len) == 0)) - return false; + (temp->nickname_len == (nick_end - nick_start))) { + if (memcmp(nick_start, temp->nickname, + temp->nickname_len) == 0) + return false; + } } return true; } @@ -191,7 +192,7 @@ static int handle_nickname(struct nf_conn *ct, kmalloc(i, GFP_ATOMIC); if (temp->nickname) { temp->nickname_len = i; - memcpy(&temp->nickname, + memcpy(temp->nickname, nick_start, temp->nickname_len); } else { list_del(&temp->ptr);