aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Pisati <piso@FreeBSD.org>2009-04-11 15:19:09 +0000
committerPaolo Pisati <piso@FreeBSD.org>2009-04-11 15:19:09 +0000
commitea80b0ac039be76520bfd2a5be9527a4dc68f0d8 (patch)
tree23f80e1c7bdb1ec848c3e19657f655256c68d039
parentc4b3a33012efaf83d9a30d6a863c177f7b976f21 (diff)
downloadsrc-ea80b0ac039be76520bfd2a5be9527a4dc68f0d8.tar.gz
src-ea80b0ac039be76520bfd2a5be9527a4dc68f0d8.zip
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.
Notes
Notes: svn path=/head/; revision=190938
-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 c7fc4f437390..4a7392865c69 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 2990c6b4ed22..6fcf727e1522 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. */