diff options
Diffstat (limited to 'accel-pppd/libnetlink')
| -rw-r--r-- | accel-pppd/libnetlink/genl.c | 1 | ||||
| -rw-r--r-- | accel-pppd/libnetlink/libnetlink.c | 3 |
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; } |
