diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2019-01-22 08:57:16 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-22 08:57:16 -0500 |
| commit | 518515a1e36142ba5ec4a616526004578ccb8881 (patch) | |
| tree | 04be17b939767c5d87f4e4689761945fbdfe9efb /zebra/kernel_socket.c | |
| parent | 62b6a7e149fa35d0edbece65bf21c7d13e0c78cd (diff) | |
| parent | 1583f8f5ad87c3506e4b49add613c153117d5205 (diff) | |
Merge pull request #3641 from opensourcerouting/rsock-ipv6-fix
zebra: fix a few problems with routing socket
Diffstat (limited to 'zebra/kernel_socket.c')
| -rw-r--r-- | zebra/kernel_socket.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index f290d456d6..f3561cc19d 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -274,7 +274,7 @@ size_t _rta_get(caddr_t sap, void *destp, size_t destlen, bool checkaf) if (sa->sa_family == AF_LINK) { sdl = (struct sockaddr_dl *)sa; if (sdl->sdl_index == 0 || sdl->sdl_nlen == 0) - copylen = sizeof(*sdl) - sizeof(sdl->sdl_data); + copylen = destlen; } if (copylen > destlen) { @@ -994,7 +994,7 @@ static int rtm_read_mesg(struct rt_msghdr *rtm, union sockunion *dest, pnt += rta_get(pnt, gate, sizeof(*gate)); break; case RTA_NETMASK: - pnt += rta_get(pnt, mask, sizeof(*mask)); + pnt += rta_getattr(pnt, mask, sizeof(*mask)); break; case RTA_IFP: pnt += rta_getsdlname(pnt, ifname, ifnlen); |
