Tom Lane wrote:
> Neil Conway <neilc@samurai.com> writes:
>
>> In CVS HEAD:
>> contrib/tsearch2/dict_syn.c:124: warning: 'slen' is used uninitialized
>> in this function
>> Induced by the recent pg_verifymbstr() patch.
>>
>
> Seems to be a genuine bug. Fixed, but I see a worse problem with this
> code: random backend code should not, not, not be using fopen()
> directly. If you lose control to an elog, which is certainly possible
> seeing that this loop calls into the utils/mb subsystem, you'll leak
> the file descriptor. Use AllocateFile/FreeFile instead of fopen/fclose.
>
Does that apply to things like plperlu?
> I find the direct use of malloc/realloc/strdup to be poor style as well
> --- backend code that is not using palloc needs to have *very* good
> reason to do so, and I see none here.
>
> I'm halfway tempted to change postgres.h to #define these functions to
> yield errors, and only allow #undef'ing them in the files that are
> supposed to access the C library functions directly.
>
>
>
not a bad idea :-)
cheers
andrew