Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 May 1997 16:00:26 +0200 (CEST)
From:      Åge Røbekk <aagero@aage.priv.no>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/3678: bug in IPDIVERT code in -current
Message-ID:  <199705251400.QAA00470@aage.priv.no>
Resent-Message-ID: <199705251410.HAA23323@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         3678
>Category:       kern
>Synopsis:       bug in IPDIVERT code in -current
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun May 25 07:10:01 PDT 1997
>Last-Modified:
>Originator:     Åge Røbekk
>Organization:
>Release:        FreeBSD 3.0-CURRENT i386
>Environment:

FreeBSD birk04.studby.uio.no 3.0-CURRENT FreeBSD 3.0-CURRENT #8: Sun May 25 15:43:56 CEST 1997     aagero@birk04.studby.uio.no:/usr/src/sys/compile/AAGE  i386

built from the very latest sources, with peter wemm's latest changes in the
divert code.

>Description:

	when binding to an divert socket, div_bind() in ip_divert.c calls
	in_pcbbind() with an unset inpcb struct pointer, resulting in a
	panic.

>How-To-Repeat:

	pseudo-code:

 	int divsock;
	divsock = socket(..., IPPROT_DIVERT);
	bind(divsock, ...);
 	<panic>

>Fix:
	
--- ip_divert.c.old     Sat May 24 19:23:11 1997
+++ ip_divert.c Sun May 25 15:53:43 1997
@@ -311,6 +311,7 @@
        int s;
        int error;
 
+       inp = sotoinpcb(so);
        s = splnet();
        error = in_pcbbind(inp, nam, p);
        splx(s);
	

>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705251400.QAA00470>