diff options
author | archie <archie@FreeBSD.org> | 2000-08-09 23:57:44 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 2000-08-09 23:57:44 +0000 |
commit | 7c1fac0cb6f4f48a29c7ad250e038165988f4749 (patch) | |
tree | e10d116df540371d4465054b8b7ebd929b1502b9 /sys/netgraph | |
parent | 3168f0a4f8b336d3f008cdfe3ad5b7ccdb71bb29 (diff) | |
download | FreeBSD-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.c | 2 |
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 */ |