Report information
The Basics
Id:
19867
Status:
resolved
Worked:
1 hour (60 minutes)
Users:
sar: 1 hour (60 minutes)
Priority:
Medium/Medium
Queue:

People
Owner:
Nobody in particular
Cc:
AdminCc:

BugTracker
Version Fixed:
(no value)
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
(no value)
Severity:
(no value)
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
(no value)

Dates
Created:Fri, 26 Jun 2009 20:06:26 -0400
Updated:Wed, 21 Mar 2018 14:23:12 -0400
Closed:Mon, 10 Mar 2014 22:44:44 -0400



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: common/dispatch.c: add_timeout() when parameter NULL
Date: Fri, 26 Jun 2009 14:03:57 -1000 (HST)
To: dhcp-bugs@isc.org
From: David Cantrell <dcantrell@redhat.com>
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 In Fedora 11 and rawhide on 32-bit x86 systems, some users are reporting a SGISEGV in dhclient when there is a DHCPDECLINE sent. The add_timeout() function is called in common/dispatch.c and the 'when' parameter is NULL. Core dumps reveal the offending line as: q -> when . tv_sec = when -> tv_sec; Which is around line 143 in common/dispatch.c in dhcp-4.1.0. x86_64 systems are not having this problem. As it is affecting users from using their systems, I've added the following patch to the Fedora package: diff -up dhcp-4.1.0/common/dispatch.c.dracut dhcp-4.1.0/common/dispatch.c - --- dhcp-4.1.0/common/dispatch.c.dracut 2008-01-23 16:43:04.000000000 -1000 +++ dhcp-4.1.0/common/dispatch.c 2009-06-25 16:21:03.000000000 -1000 @@ -104,6 +104,10 @@ void add_timeout (when, where, what, ref { struct timeout *t, *q; + if (when == NULL) { + return; + } + /* See if this timeout supersedes an existing timeout. */ t = (struct timeout *)0; for (q = timeouts; q; q = q -> next) { What I'd really like to determine is why the when parameter is NULL in these cases, but I wanted to get something out to users that isn't segfaulting. - -- David Cantrell <dcantrell@redhat.com> Red Hat / Honolulu, HI -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkpFYe0ACgkQ5hsjjIy1Vkn4eACbBan1EXNoGGVogGARQesl64nR p+UAniJleIDwYB7kiUXzrimN+AwcG37o =NwTj -----END PGP SIGNATURE-----
I've (finally) looked at this ticket and reviewed the code and don't
see a way to get a NULL in the client calls to add_timeout().

Before deciding what to do with the ticket I wanted to check and see
if you had any more information, especially if this was seen in 4.1.1
as well as 4.1.0.  I realize the ticket is older and won't be surprised if
you don't have any additional information.

thanks,
Shawn

Subject: Re: [ISC-Bugs #19867] common/dispatch.c: add_timeout() when parameter NULL
Date: Wed, 21 Jul 2010 07:43:39 -1000 (HST)
To: Shawn Routhier via RT <dhcp-bugs@isc.org>
From: David Cantrell <dcantrell@redhat.com>
On Tue, 20 Jul 2010, Shawn Routhier via RT wrote: > I've (finally) looked at this ticket and reviewed the code and don't > see a way to get a NULL in the client calls to add_timeout(). > > Before deciding what to do with the ticket I wanted to check and see > if you had any more information, especially if this was seen in 4.1.1 > as well as 4.1.0. I realize the ticket is older and won't be surprised if > you don't have any additional information. I sent in that patch on 29-Jun-2009, if I remember correctly. I can't really remember the specifics of the situation, but I do remember tracking down the problem and coming up with this patch. It's really more patching the symptom rather than the problem, but I was time constrained. At any rate, if I had to guess now, I'd say it was alignment issues leading to 'when' set to NULL on 32-bit systems. This may also be a very specific case because it was back during Fedora 11. Thanks, -- David Cantrell <dcantrell@redhat.com> Red Hat / Honolulu, HI