Re: BUG #15802: Comparison of a function returning boolean value using relational (<, >, <= or >=) operator - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15802: Comparison of a function returning boolean value using relational (<, >, <= or >=) operator
Date
Msg-id 16340.1557755393@sss.pgh.pa.us
Whole thread Raw
In response to BUG #15802: Comparison of a function returning boolean value using relational (<, >, <= or >=) operator  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> postgresql-11.3/src/interfaces/libpq/fe-misc.c:1060]: (style) Comparison of
> a function returning boolean value using relational (<, >, <= or >=)
> operator.
> Source code is
>        if (forRead && conn->ssl_in_use && pgtls_read_pending(conn) > 0)
> but
> ./src/interfaces/libpq/libpq-int.h:extern bool pgtls_read_pending(PGconn
> *conn);

It looks like the "> 0" belongs inside pgtls_read_pending, since
SSL_pending is documented to return an integer count.  This is
probably harmless with C99-style bools, but if we were doing it
like that before PG v12, it could be a live bug in the back
branches.  I'll check.

Thanks for the report!

            regards, tom lane



pgsql-bugs by date:

Previous
From: Robert Schreiber
Date:
Subject: Re: PostgreSQL 9.3.5 substring(text from pattern for escape) bug
Next
From: Tom Lane
Date:
Subject: Re: BUG #15803: Autocomplete issues in new 11.3 and 9.6.13 psql client