From: Brian Gernhardt Date: Mon, 29 Aug 2011 17:28:05 GMT Subject: Re: t0300-credentials: poll failed: invalid argument Message-ID: <01E9C05C-A19D-45B0-B15D-DA6B911C11A9@silverinsanity.com> In-Reply-To: <20110829171411.GB756@sigill.intra.peff.net> On Aug 29, 2011, at 1:14 PM, Jeff King wrote: > On Sun, Aug 28, 2011 at 12:40:56AM -0400, Brian Gernhardt wrote: > >> The only usage of poll I see in the credentials system is: >> >> credentials-cache--daemon.c >> 177: if (poll(&pfd, 1, 1000 * wakeup) < 0) { >> >> My guess is that (1000 * wakeup) is more than INT_MAX and is becoming >> negative as the man page for poll seems to indicate that it will fail >> if timeout < -1. >> >> Does anyone familiar with the credentials daemon want to try to figure >> out a reasonable fix? > > Ugh, sorry, this is my fault. The check_expiration() function can return > a totally bogus value before we actually get any credentials. > > Does this patch fix it for you? Yes it does! Surprisingly enough, non-bogus parameters keeps poll from erroring with EINVAL. Funny that. ;-) Many thanks, ~~ Brian