summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter
diff options
context:
space:
mode:
authorcy <cy@FreeBSD.org>2013-09-21 14:22:07 +0000
committercy <cy@FreeBSD.org>2013-09-21 14:22:07 +0000
commitb3f0452e3485d31d295010234a8951b1129a6f0b (patch)
tree87eb498eb55ff0735b075a9d68dc4b31cc9d21c2 /contrib/ipfilter
parent0889f75af2f838473476f92c2ed27c3b06d90077 (diff)
downloadFreeBSD-src-b3f0452e3485d31d295010234a8951b1129a6f0b.zip
FreeBSD-src-b3f0452e3485d31d295010234a8951b1129a6f0b.tar.gz
Check return code from inet_pton.
Discovered by: Coverity. Approved by: glebius (mentor) Approved by: re (blanket)
Diffstat (limited to 'contrib/ipfilter')
-rw-r--r--contrib/ipfilter/ip_fil.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/contrib/ipfilter/ip_fil.c b/contrib/ipfilter/ip_fil.c
index 208602a..9178bd3 100644
--- a/contrib/ipfilter/ip_fil.c
+++ b/contrib/ipfilter/ip_fil.c
@@ -228,7 +228,19 @@ ipf_setifpaddr(ifp, addr)
sin6 = (struct sockaddr_in6 *)&ifa->ifa_addr;
sin6->sin6_family = AF_INET6;
- inet_pton(AF_INET6, addr, &sin6->sin6_addr);
+ /* Abort if bad address. */
+ switch (inet_pton(AF_INET6, addr, &sin6->sin6_addr))
+ {
+ case 1:
+ break;
+ case -1:
+ perror("inet_pton");
+ abort();
+ break;
+ default:
+ abort();
+ break;
+ }
} else
#endif
{
OpenPOWER on IntegriCloud