netfilter: ftp: Remove the useless dlen==0 condition check in find_pattern
authorGao Feng <fgao@ikuai8.com>
Thu, 1 Sep 2016 10:58:29 +0000 (18:58 +0800)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 7 Sep 2016 08:37:59 +0000 (10:37 +0200)
The caller function "help" has already make sure the datalen could not be zero
before invoke find_pattern as a parameter by the following codes

        if (dataoff >= skb->len) {
                pr_debug("ftp: dataoff(%u) >= skblen(%u)\n", dataoff,
                         skb->len);
                return NF_ACCEPT;
        }
        datalen = skb->len - dataoff;

And the latter codes "ends_in_nl = (fb_ptr[datalen - 1] == '\n');" use datalen
directly without checking if it is zero.

So it is unneccessary to check it in find_pattern too.

Signed-off-by: Gao Feng <fgao@ikuai8.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nf_conntrack_ftp.c

index b6934b5edf7a0afff352435ca96d1e75e897dfe3..d49a2d4108132b67ac3a7ade769f498c741866a1 100644 (file)
@@ -301,8 +301,6 @@ static int find_pattern(const char *data, size_t dlen,
        size_t i = plen;
 
        pr_debug("find_pattern `%s': dlen = %Zu\n", pattern, dlen);
-       if (dlen == 0)
-               return 0;
 
        if (dlen <= plen) {
                /* Short packet: try for partial? */