From 7f230ace8fd819f5d376db88b183f0151a8e6475 Mon Sep 17 00:00:00 2001 From: itojun <> Date: Mon, 20 Aug 2001 02:27:10 +0000 Subject: cope with sa_len < sizeof(struct sockaddr). From: Patrik Lindergren --- src/lib/libc/net/getifaddrs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/libc/net/getifaddrs.c b/src/lib/libc/net/getifaddrs.c index 5c9c337f71..ca69af8b9e 100644 --- a/src/lib/libc/net/getifaddrs.c +++ b/src/lib/libc/net/getifaddrs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: getifaddrs.c,v 1.5 2001/07/04 19:43:16 deraadt Exp $ */ +/* $OpenBSD: getifaddrs.c,v 1.6 2001/08/20 02:27:10 itojun Exp $ */ /* * Copyright (c) 1995, 1999 @@ -213,7 +213,10 @@ getifaddrs(struct ifaddrs **pif) dcnt += SA_RLEN(sa); ncnt += sizeof(ifr->ifr_name) + 1; - ifr = (struct ifreq *)(((char *)sa) + SA_LEN(sa)); + if (SA_LEN(sa) < sizeof(*sa)) + ifr = (struct ifreq *)(((char *)sa) + sizeof(*sa)); + else + ifr = (struct ifreq *)(((char *)sa) + SA_LEN(sa)); } #endif /* NET_RT_IFLIST */ -- cgit v1.2.3-55-g6feb