Re: Clear errno in spell.c - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Clear errno in spell.c
Date
Msg-id 1299648.1741450106@sss.pgh.pa.us
Whole thread Raw
In response to Clear errno in spell.c  (Jacob Brazeal <jacob.brazeal@gmail.com>)
List pgsql-hackers
Jacob Brazeal <jacob.brazeal@gmail.com> writes:
> Several times in spell.c, we call strtol and then check the errno, but we
> do not clear out errno = 0 before strtol, as is customary (and done
> everywhere else in the codebase that I could find.) This could
> hypothetically lead to us incorrectly logging an error.

Yeah.  Looking around, we seem quite haphazard about whether we
check errno at all after strtol and siblings.  But certainly, doing
so without clearing it beforehand is a Bad Idea.

It's surprising that we've not heard reports of problems here.  Maybe
the I/O involved in reading the dictionary file we're parsing clears
errno and then never sets it to ERANGE?  But I didn't see an obvious
place where it cleared errno.  Anyway, even if this isn't a live bug
it's surely a latent one, so I'll push your patch.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Robert Treat
Date:
Subject: Re: Statistics Import and Export
Next
From: Andreas Karlsson
Date:
Subject: Re: Special-case executor expression steps for common combinations