ANDROID: xt_quota2: clear quota2_log message before sending
authorTodd Kjos <tkjos@google.com>
Tue, 17 Aug 2021 20:29:23 +0000 (13:29 -0700)
committerTodd Kjos <tkjos@google.com>
Mon, 1 Nov 2021 23:54:11 +0000 (16:54 -0700)
Initialize message buffer for quota2_log to avoid sending
random data.

Bug: 196046570
Test: passed netd test suites
Fixes: 10cda83af99d ("ANDROID: netfilter: xt_quota2: adding the
original quota2 from xtables-addons")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ic9f34aaa2593809b375fc649b74567190c99dc62

net/netfilter/xt_quota2.c

index ec96906092865346e21191ea01927dc29f77aaeb..828d31c2bc0732d1ff95e1a8aed0a2b8819e199c 100644 (file)
@@ -106,23 +106,16 @@ static void quota2_log(unsigned int hooknum,
                return;
        }
        pm = nlmsg_data(nlh);
+       memset(pm, 0, sizeof(*pm));
        if (skb->tstamp == 0)
                __net_timestamp((struct sk_buff *)skb);
-       pm->data_len = 0;
        pm->hook = hooknum;
        if (prefix != NULL)
                strlcpy(pm->prefix, prefix, sizeof(pm->prefix));
-       else
-               *(pm->prefix) = '\0';
        if (in)
                strlcpy(pm->indev_name, in->name, sizeof(pm->indev_name));
-       else
-               pm->indev_name[0] = '\0';
-
        if (out)
                strlcpy(pm->outdev_name, out->name, sizeof(pm->outdev_name));
-       else
-               pm->outdev_name[0] = '\0';
 
        NETLINK_CB(log_skb).dst_group = 1;
        pr_debug("throwing 1 packets to netlink group 1\n");