Обсуждение: Re: Fix misuse use of pg_b64_encode function (contrib/postgres_fdw/connection.c)
Re: Fix misuse use of pg_b64_encode function (contrib/postgres_fdw/connection.c)
От
Peter Eisentraut
Дата:
On 16.01.25 02:12, Ranier Vilela wrote: > Per Coverity. > > CID 1590024: (CHECKED_RETURN) > Calling "pg_b64_encode" without checking return value (as is done > elsewhere 8 out of 10 times). > > The function *pg_b64_encode* has in the comments: > [0] "and -1 in the event of an error" > > So, the function can fail. > All other calls check the return, In this case it could not be different. > > Fix by checking the return and reporting a message to the user, > in case of failure. Thanks, fixed. (I changed the ereports to elogs, which is how other call sites do it.) I also fixed a related problem in the pg_b64_decode() calls in libpq. Maybe we could put a pg_nodiscard attribute on pg_b64_encode() and pg_b64_decode()? > [0] I think the most correct would be *or* not *and* word? I think both are ok here.
Re: Fix misuse use of pg_b64_encode function (contrib/postgres_fdw/connection.c)
От
Ranier Vilela
Дата:
Em qui., 16 de jan. de 2025 às 05:07, Peter Eisentraut <peter@eisentraut.org> escreveu:
On 16.01.25 02:12, Ranier Vilela wrote:
> Per Coverity.
>
> CID 1590024: (CHECKED_RETURN)
> Calling "pg_b64_encode" without checking return value (as is done
> elsewhere 8 out of 10 times).
>
> The function *pg_b64_encode* has in the comments:
> [0] "and -1 in the event of an error"
>
> So, the function can fail.
> All other calls check the return, In this case it could not be different.
>
> Fix by checking the return and reporting a message to the user,
> in case of failure.
Thanks, fixed. (I changed the ereports to elogs, which is how other
call sites do it.)
Thank you.
I also fixed a related problem in the pg_b64_decode() calls in libpq.
Maybe we could put a pg_nodiscard attribute on pg_b64_encode() and
pg_b64_decode()?
+1
> [0] I think the most correct would be *or* not *and* word?
I think both are ok here.
Ok.
best regards,
Ranier Vilela
Re: Fix misuse use of pg_b64_encode function (contrib/postgres_fdw/connection.c)
От
Peter Eisentraut
Дата:
On 16.01.25 11:23, Ranier Vilela wrote: > > > Em qui., 16 de jan. de 2025 às 05:07, Peter Eisentraut > <peter@eisentraut.org <mailto:peter@eisentraut.org>> escreveu: > > On 16.01.25 02:12, Ranier Vilela wrote: > > Per Coverity. > > > > CID 1590024: (CHECKED_RETURN) > > Calling "pg_b64_encode" without checking return value (as is done > > elsewhere 8 out of 10 times). > > > > The function *pg_b64_encode* has in the comments: > > [0] "and -1 in the event of an error" > > > > So, the function can fail. > > All other calls check the return, In this case it could not be > different. > > > > Fix by checking the return and reporting a message to the user, > > in case of failure. > > Thanks, fixed. (I changed the ereports to elogs, which is how other > call sites do it.) > > Thank you. > > > I also fixed a related problem in the pg_b64_decode() calls in libpq. > > Maybe we could put a pg_nodiscard attribute on pg_b64_encode() and > pg_b64_decode()? > > +1 done
Re: Fix misuse use of pg_b64_encode function (contrib/postgres_fdw/connection.c)
От
Ranier Vilela
Дата:
Em sex., 17 de jan. de 2025 às 05:11, Peter Eisentraut <peter@eisentraut.org> escreveu:
On 16.01.25 11:23, Ranier Vilela wrote:
>
>
> Em qui., 16 de jan. de 2025 às 05:07, Peter Eisentraut
> <peter@eisentraut.org <mailto:peter@eisentraut.org>> escreveu:
>
> On 16.01.25 02:12, Ranier Vilela wrote:
> > Per Coverity.
> >
> > CID 1590024: (CHECKED_RETURN)
> > Calling "pg_b64_encode" without checking return value (as is done
> > elsewhere 8 out of 10 times).
> >
> > The function *pg_b64_encode* has in the comments:
> > [0] "and -1 in the event of an error"
> >
> > So, the function can fail.
> > All other calls check the return, In this case it could not be
> different.
> >
> > Fix by checking the return and reporting a message to the user,
> > in case of failure.
>
> Thanks, fixed. (I changed the ereports to elogs, which is how other
> call sites do it.)
>
> Thank you.
>
>
> I also fixed a related problem in the pg_b64_decode() calls in libpq.
>
> Maybe we could put a pg_nodiscard attribute on pg_b64_encode() and
> pg_b64_decode()?
>
> +1
done
Thanks Peter.
best regards,
Ranier Vilela