|
@@ -925,12 +925,10 @@ static int xfrm_dump_sa(struct sk_buff *skb, struct netlink_callback *cb)
|
|
return err;
|
|
return err;
|
|
|
|
|
|
if (attrs[XFRMA_ADDRESS_FILTER]) {
|
|
if (attrs[XFRMA_ADDRESS_FILTER]) {
|
|
- filter = kmalloc(sizeof(*filter), GFP_KERNEL);
|
|
|
|
|
|
+ filter = kmemdup(nla_data(attrs[XFRMA_ADDRESS_FILTER]),
|
|
|
|
+ sizeof(*filter), GFP_KERNEL);
|
|
if (filter == NULL)
|
|
if (filter == NULL)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
-
|
|
|
|
- memcpy(filter, nla_data(attrs[XFRMA_ADDRESS_FILTER]),
|
|
|
|
- sizeof(*filter));
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (attrs[XFRMA_PROTO])
|
|
if (attrs[XFRMA_PROTO])
|