summaryrefslogtreecommitdiffstats
path: root/sys/netinet/libalias
diff options
context:
space:
mode:
authorpiso <piso@FreeBSD.org>2009-04-11 15:19:09 +0000
committerpiso <piso@FreeBSD.org>2009-04-11 15:19:09 +0000
commita36990c3db3e905cc2b15da99d38ca83b6c69823 (patch)
tree23f80e1c7bdb1ec848c3e19657f655256c68d039 /sys/netinet/libalias
parentabe2fea9ee0c49024ac9aa9e9a769af03868ad92 (diff)
downloadFreeBSD-src-a36990c3db3e905cc2b15da99d38ca83b6c69823.zip
FreeBSD-src-a36990c3db3e905cc2b15da99d38ca83b6c69823.tar.gz
Plug two bugs introduced with modules conversion:
-UdpAliasIn(): correctly check return code after modules ran. -alias_nbt: in case of malformed packets (or some other unrecoverable error), toss the packet.
Diffstat (limited to 'sys/netinet/libalias')
-rw-r--r--sys/netinet/libalias/alias.c4
-rw-r--r--sys/netinet/libalias/alias_nbt.c8
2 files changed, 5 insertions, 7 deletions
diff --git a/sys/netinet/libalias/alias.c b/sys/netinet/libalias/alias.c
index c7fc4f4..4a73928 100644
--- a/sys/netinet/libalias/alias.c
+++ b/sys/netinet/libalias/alias.c
@@ -742,7 +742,7 @@ UdpAliasIn(struct libalias *la, struct ip *pip)
u_short alias_port;
u_short proxy_port;
int accumulate;
- int r = 0, error;
+ int error;
struct alias_data ad = {
.lnk = lnk,
.oaddr = &original_address,
@@ -804,7 +804,7 @@ UdpAliasIn(struct libalias *la, struct ip *pip)
/*
* If we cannot figure out the packet, ignore it.
*/
- if (r < 0)
+ if (error < 0)
return (PKT_ALIAS_IGNORED);
else
return (PKT_ALIAS_OK);
diff --git a/sys/netinet/libalias/alias_nbt.c b/sys/netinet/libalias/alias_nbt.c
index 2990c6b..6fcf727 100644
--- a/sys/netinet/libalias/alias_nbt.c
+++ b/sys/netinet/libalias/alias_nbt.c
@@ -93,8 +93,7 @@ static int
protohandler1(struct libalias *la, struct ip *pip, struct alias_data *ah)
{
- AliasHandleUdpNbt(la, pip, ah->lnk, ah->aaddr, *ah->aport);
- return (0);
+ return (AliasHandleUdpNbt(la, pip, ah->lnk, ah->aaddr, *ah->aport));
}
static int
@@ -123,9 +122,8 @@ static int
protohandler2out(struct libalias *la, struct ip *pip, struct alias_data *ah)
{
- AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
- ah->aaddr, ah->aport);
- return (0);
+ return (AliasHandleUdpNbtNS(la, pip, ah->lnk, &pip->ip_src, ah->sport,
+ ah->aaddr, ah->aport));
}
/* Kernel module definition. */
OpenPOWER on IntegriCloud