From owner-svn-src-head@FreeBSD.ORG Wed Mar 6 04:58:49 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 38534448; Wed, 6 Mar 2013 04:58:49 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 266D8D7; Wed, 6 Mar 2013 04:58:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r264wmgf072792; Wed, 6 Mar 2013 04:58:48 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r264wmDe072791; Wed, 6 Mar 2013 04:58:48 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201303060458.r264wmDe072791@svn.freebsd.org> From: Hiroki Sato Date: Wed, 6 Mar 2013 04:58:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r247863 - head/usr.sbin/rtadvd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Mar 2013 04:58:49 -0000 Author: hrs Date: Wed Mar 6 04:58:48 2013 New Revision: 247863 URL: http://svnweb.freebsd.org/changeset/base/247863 Log: Fix SIGSEGV when set_short_delay() is called when ifi->ifi_ra_timer is NULL. This can happen in a short period when a prefix is changed by a rtmsg and a new interface arrives. Modified: head/usr.sbin/rtadvd/rtadvd.c Modified: head/usr.sbin/rtadvd/rtadvd.c ============================================================================== --- head/usr.sbin/rtadvd/rtadvd.c Wed Mar 6 01:21:56 2013 (r247862) +++ head/usr.sbin/rtadvd/rtadvd.c Wed Mar 6 04:58:48 2013 (r247863) @@ -1008,6 +1008,8 @@ set_short_delay(struct ifinfo *ifi) long delay; /* must not be greater than 1000000 */ struct timeval interval, now, min_delay, tm_tmp, *rest; + if (ifi->ifi_ra_timer == NULL) + return; /* * Compute a random delay. If the computed value * corresponds to a time later than the time the next