Re: oid failures on Alpha solved - Mailing list pgsql-hackers

From Tom Lane
Subject Re: oid failures on Alpha solved
Date
Msg-id 3262.978199026@sss.pgh.pa.us
Whole thread Raw
In response to oid failures on Alpha solved  (Brent Verner <brent@rcfile.org>)
Responses Re: oid failures on Alpha solved  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: oid failures on Alpha solved  (Brent Verner <brent@rcfile.org>)
List pgsql-hackers
Brent Verner <brent@rcfile.org> writes:
> formatting '-1040' with '%u'
>   snprintf = 18446744073709550576
>   sprintf  = 4294966256

> oidout() is where the offending call originates, FWIW.
>   snprintf(result, 12, "%u", o);

Hm.  This is clearly a bug in snprintf.  Did I understand you correctly
that configure is choosing backend/port/snprintf.c rather than one from
the C library?  If so, it should be straightforward to fix.

>   1) could the openssh code be a candidate to replace our version? It 
>      looks quite a bit more 'featureful', and I'd imagine it is about 
>      as safe as snprintf gets.

(a) what's the license?  (b) is it a lot bigger than the one we have?

>   2) do we _need_ oidout() to "%u", or could we "%lu" and fully take
>      advantage of the longer long on 64bit platforms?

OID is 4 bytes and %u is the correct format for it.  8-byte OIDs are a
can of worms that we will *not* open just now.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Vadim Mikheev"
Date:
Subject: Just fixed
Next
From: Tom Lane
Date:
Subject: Re: oid failures on Alpha solved