diff options
author | piso <piso@FreeBSD.org> | 2009-04-11 15:19:09 +0000 |
---|---|---|
committer | piso <piso@FreeBSD.org> | 2009-04-11 15:19:09 +0000 |
commit | a36990c3db3e905cc2b15da99d38ca83b6c69823 (patch) | |
tree | 23f80e1c7bdb1ec848c3e19657f655256c68d039 /sys/netinet/libalias | |
parent | abe2fea9ee0c49024ac9aa9e9a769af03868ad92 (diff) | |
download | FreeBSD-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.c | 4 | ||||
-rw-r--r-- | sys/netinet/libalias/alias_nbt.c | 8 |
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. */ |