aboutsummaryrefslogtreecommitdiff
path: root/sys/netgraph/ng_parse.c
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2006-01-18 16:09:00 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2006-01-18 16:09:00 +0000
commit4006cd2b3fcbbd3ae72d2ccda07b4066df093847 (patch)
treed8de5e97fca33205245de090978c82d9fd31a9a7 /sys/netgraph/ng_parse.c
parent39550088cf76fc5597fd63847d53e25c706e5ac9 (diff)
downloadsrc-4006cd2b3fcbbd3ae72d2ccda07b4066df093847.tar.gz
src-4006cd2b3fcbbd3ae72d2ccda07b4066df093847.zip
Fix two accesses to uninitialized variables that a revision 1.27
has introduced. Found with: Coverity Prevent(tm)
Notes
Notes: svn path=/head/; revision=154521
Diffstat (limited to 'sys/netgraph/ng_parse.c')
-rw-r--r--sys/netgraph/ng_parse.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/netgraph/ng_parse.c b/sys/netgraph/ng_parse.c
index 5dd7568ed7b6..2e9a36548683 100644
--- a/sys/netgraph/ng_parse.c
+++ b/sys/netgraph/ng_parse.c
@@ -800,10 +800,12 @@ ng_fixedstring_parse(const struct ng_parse_type *type,
int len;
int slen;
- if (slen + 1 > fi->bufSize)
- return (E2BIG);
if ((sval = ng_get_string_token(s, off, &len, &slen)) == NULL)
return (EINVAL);
+ if (slen + 1 > fi->bufSize) {
+ FREE(sval, M_NETGRAPH_PARSE);
+ return (E2BIG);
+ }
*off += len;
bcopy(sval, buf, slen);
FREE(sval, M_NETGRAPH_PARSE);
@@ -901,10 +903,12 @@ ng_sizedstring_parse(const struct ng_parse_type *type,
int len;
int slen;
- if (slen > USHRT_MAX)
- return (EINVAL);
if ((sval = ng_get_string_token(s, off, &len, &slen)) == NULL)
return (EINVAL);
+ if (slen > USHRT_MAX) {
+ FREE(sval, M_NETGRAPH_PARSE);
+ return (EINVAL);
+ }
*off += len;
*((u_int16_t *)buf) = (u_int16_t)slen;
bcopy(sval, buf + 2, slen);