Date: Sat, 19 Jun 1999 22:16:22 -0700 (PDT) From: Jonathan Hanna <jh@cr1003333-a.crdva1.bc.home.com> To: FreeBSD-gnats-submit@freebsd.org Subject: bin/12304: infinite recursion in libalias with PKT_ALIAS_REVERSE Message-ID: <199906200516.WAA05806@cr1003333-a.crdva1.bc.home.com>
index | next in thread | raw e-mail
>Number: 12304
>Category: bin
>Synopsis: infinite recursion in libalias with PKT_ALIAS_REVERSE
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Jun 19 22:20:00 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator: Jonathan Hanna
>Release: FreeBSD 4.0-CURRENT i386
>Organization:
>Environment:
4.0-CURRENT
3.2-STABLE
>Description:
Setting PKT_ALIAS_REVERSE in libalias results in infinite
recursion of alternating alias-in and alias-out functions.
alias.c in libalias has this code:
int
PacketAliasIn(char *ptr, int maxpacketsize)
{
struct in_addr alias_addr;
struct ip *pip;
int iresult;
if (packetAliasMode & PKT_ALIAS_REVERSE)
return PacketAliasOut(ptr, maxpacketsize);
...
int
PacketAliasOut(char *ptr, /* valid IP packet */
int maxpacketsize /* How much the packet data may grow
(FTP and IRC inline changes) */
)
{
int iresult;
struct in_addr addr_save;
struct ip *pip;
if (packetAliasMode & PKT_ALIAS_REVERSE)
return PacketAliasIn(ptr, maxpacketsize);
...
I noticed also that PKT_ALIAS_REVERSE is not documented int libalias.3.
>How-To-Repeat:
Adding "-reverse" to a natd setup results in a core dump.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199906200516.WAA05806>
