summaryrefslogtreecommitdiff
path: root/accel-pppd/libnetlink
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/libnetlink')
-rw-r--r--accel-pppd/libnetlink/genl.c1
-rw-r--r--accel-pppd/libnetlink/libnetlink.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/accel-pppd/libnetlink/genl.c b/accel-pppd/libnetlink/genl.c
index b8cb2fcb..0c758077 100644
--- a/accel-pppd/libnetlink/genl.c
+++ b/accel-pppd/libnetlink/genl.c
@@ -39,6 +39,7 @@ int __export genl_resolve_mcg(const char *family, const char *name, int *fam_id)
return -1;
}
+ memset(&req, 0, sizeof(req));
nlh = &req.n;
nlh->nlmsg_len = NLMSG_LENGTH(GENL_HDRLEN);
nlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
diff --git a/accel-pppd/libnetlink/libnetlink.c b/accel-pppd/libnetlink/libnetlink.c
index aca16aff..0ab83a3c 100644
--- a/accel-pppd/libnetlink/libnetlink.c
+++ b/accel-pppd/libnetlink/libnetlink.c
@@ -512,7 +512,8 @@ int __export addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *dat
rta = NLMSG_TAIL(n);
rta->rta_type = type;
rta->rta_len = len;
- memcpy(RTA_DATA(rta), data, alen);
+ if (data && alen)
+ memcpy(RTA_DATA(rta), data, alen);
n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
return 0;
}