]> git.karo-electronics.de Git - linux-beck.git/blobdiff - net/netfilter/ipvs/ip_vs_pe_sip.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux-beck.git] / net / netfilter / ipvs / ip_vs_pe_sip.c
index 00cc0241ed87860b84722f20af7236428639b001..9ef22bdce9f192344f524c5337b60878dab8e480 100644 (file)
@@ -13,7 +13,8 @@ static const char *ip_vs_dbg_callid(char *buf, size_t buf_len,
                                    const char *callid, size_t callid_len,
                                    int *idx)
 {
-       size_t len = min(min(callid_len, (size_t)64), buf_len - *idx - 1);
+       size_t max_len = 64;
+       size_t len = min3(max_len, callid_len, buf_len - *idx - 1);
        memcpy(buf + *idx, callid, len);
        buf[*idx+len] = '\0';
        *idx += len + 1;
@@ -37,14 +38,10 @@ static int get_callid(const char *dptr, unsigned int dataoff,
                if (ret > 0)
                        break;
                if (!ret)
-                       return 0;
+                       return -EINVAL;
                dataoff += *matchoff;
        }
 
-       /* Empty callid is useless */
-       if (!*matchlen)
-               return -EINVAL;
-
        /* Too large is useless */
        if (*matchlen > IP_VS_PEDATA_MAXLEN)
                return -EINVAL;