summaryrefslogtreecommitdiffstats
path: root/sys/netgraph
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-08-09 23:57:44 +0000
committerarchie <archie@FreeBSD.org>2000-08-09 23:57:44 +0000
commit7c1fac0cb6f4f48a29c7ad250e038165988f4749 (patch)
treee10d116df540371d4465054b8b7ebd929b1502b9 /sys/netgraph
parent3168f0a4f8b336d3f008cdfe3ad5b7ccdb71bb29 (diff)
downloadFreeBSD-src-7c1fac0cb6f4f48a29c7ad250e038165988f4749.zip
FreeBSD-src-7c1fac0cb6f4f48a29c7ad250e038165988f4749.tar.gz
In a struct sockaddr, sa->sa_len can be zero if uninitialized.
Make sure that this doesn't cause a problem when parsing.
Diffstat (limited to 'sys/netgraph')
-rw-r--r--sys/netgraph/ng_ksocket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netgraph/ng_ksocket.c b/sys/netgraph/ng_ksocket.c
index 96a9965..e521a91 100644
--- a/sys/netgraph/ng_ksocket.c
+++ b/sys/netgraph/ng_ksocket.c
@@ -149,7 +149,7 @@ ng_parse_generic_sockdata_getLength(const struct ng_parse_type *type,
const struct sockaddr *sa;
sa = (const struct sockaddr *)(buf - SADATA_OFFSET);
- return sa->sa_len - SADATA_OFFSET;
+ return (sa->sa_len < SADATA_OFFSET) ? 0 : sa->sa_len - SADATA_OFFSET;
}
/* Type for the variable length data portion of a generic struct sockaddr */
OpenPOWER on IntegriCloud