From 9f0f032d1037f8f97d2800de11206b5da1b52367 Mon Sep 17 00:00:00 2001 From: "Andrey V. Elsukov" Date: Tue, 9 Jul 2013 15:20:46 +0000 Subject: [PATCH] Correct the size of allocated memory to store array of counters. --- sys/netinet6/in6.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index e0a9128bb451..f8c2b7e4de86 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -2749,12 +2749,13 @@ in6_domifattach(struct ifnet *ifp) ext = (struct in6_ifextra *)malloc(sizeof(*ext), M_IFADDR, M_WAITOK); bzero(ext, sizeof(*ext)); - ext->in6_ifstat = malloc(sizeof(struct in6_ifstat), M_IFADDR, - M_WAITOK); + ext->in6_ifstat = malloc(sizeof(counter_u64_t) * + sizeof(struct in6_ifstat) / sizeof(uint64_t), M_IFADDR, M_WAITOK); COUNTER_ARRAY_ALLOC(ext->in6_ifstat, sizeof(struct in6_ifstat) / sizeof(uint64_t), M_WAITOK); - ext->icmp6_ifstat = malloc(sizeof(struct icmp6_ifstat), M_IFADDR, + ext->icmp6_ifstat = malloc(sizeof(counter_u64_t) * + sizeof(struct icmp6_ifstat) / sizeof(uint64_t), M_IFADDR, M_WAITOK); COUNTER_ARRAY_ALLOC(ext->icmp6_ifstat, sizeof(struct icmp6_ifstat) / sizeof(uint64_t), M_WAITOK);