summaryrefslogtreecommitdiffstats
path: root/examples/genl-family-get.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2010-04-03 13:06:20 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2010-04-03 13:06:20 +0200
commitabcaad6b65ed368c13c353ed71619332f76d9c2a (patch)
tree8c057fef5ffd19475b65dc905d4293244e6f03ad /examples/genl-family-get.c
parentccf40b8b3789193554ae13182c38ba7e69841cce (diff)
check portid of received messages in examples
netlink is not connection-oriented, we have to check the origin of the message. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'examples/genl-family-get.c')
-rw-r--r--examples/genl-family-get.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/examples/genl-family-get.c b/examples/genl-family-get.c
index 3e741cb..e6033af 100644
--- a/examples/genl-family-get.c
+++ b/examples/genl-family-get.c
@@ -51,6 +51,10 @@ static int data_cb(const struct nlmsghdr *nlh, void *data)
struct nlattr *tb[CTRL_ATTR_MAX+1];
struct genlmsghdr *genl = mnl_nlmsg_get_data(nlh);
+ /* this does not come from the kernel. */
+ if (nlh->nlmsg_pid != 0)
+ return MNL_CB_OK;
+
mnl_attr_parse_at_offset(nlh, sizeof(*genl), tb, CTRL_ATTR_MAX);
if (tb[CTRL_ATTR_FAMILY_NAME]) {
printf("name=%s\t",