Subject: pkg/33696: segfault in net/tinc
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <carton@Ivy.NET>
List: pkgsrc-bugs
Date: 06/11/2006 01:55:00
>Number: 33696
>Category: pkg
>Synopsis: segfault in net/tinc
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 11 01:55:00 +0000 2006
>Originator: Miles Nordin
>Release: NetBSD 3.0_BETA
>Organization:
Ivy Ministries
>Environment:
System: NetBSD castrovalva 3.0_BETA NetBSD 3.0_BETA (CASTROVALVA-$Revision: 1.10 $) #2: Fri Nov 4 21:43:08 EST 2005 carton@castrovalva:/export/src/sys/arch/alpha/compile/CASTROVALVA alpha
Architecture: alpha
Machine: alpha
>Description:
segfault in tincd
>How-To-Repeat:
Compile tinc with -g and run it inside gdb.
Leave tinc running for a few weeks on the CCC's ChaosVPN. Eventually some
network flapping will occur, and tincd will segfault in this spot.
Problem happens on FreeBSD 6.0, too.
>Fix:
diff -urN tinc-orig/distinfo tinc/distinfo
--- tinc-orig/distinfo Wed Apr 26 05:13:44 2006
+++ tinc/distinfo Mon May 29 04:05:54 2006
@@ -5,2 +5,3 @@
Size (tinc-1.0.4.tar.gz) = 480305 bytes
SHA1 (patch-aa) = c43fabf6e3b7a42f2817d36fff72f2c87747f890
+SHA1 (patch-ac) = 6d30e360f0612c1240a5ce15293d43d3684ebccd
diff -urN tinc-orig/patches/patch-ac tinc/patches/patch-ac
--- tinc-orig/patches/patch-ac Thu Jan 1 00:00:00 1970
+++ tinc/patches/patch-ac Mon May 29 04:05:49 2006
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/netutl.c.orig
++++ src/netutl.c
+@@ -78,7 +78,7 @@
+ return result;
+ }
+
+- result = *(sockaddr_t *) ai->ai_addr;
++ memcpy(&result, (sockaddr_t *) ai->ai_addr, ai->ai_addr->sa_len);
+ freeaddrinfo(ai);
+
+ return result;