Re: Small miscellaneus fixes (Part II)

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Small miscellaneus fixes (Part II)
Date: 2022-12-23 01:08:18
Message-ID: 20221223010818.GP1153@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 22, 2022 at 02:29:11PM -0300, Ranier Vilela wrote:
> Em ter., 20 de dez. de 2022 às 21:51, Justin Pryzby <pryzby(at)telsasoft(dot)com> escreveu:
>
> > On Fri, Nov 25, 2022 at 06:27:04PM -0300, Ranier Vilela wrote:
> > > 5. Use boolean operator with boolean operands
> > > (b/src/backend/commands/tablecmds.c)
> >
> > tablecmds.c: right. Since 074c5cfbf
> >
> > pg_dump.c: right. Since b08dee24a
> >
> > > 4. Fix dead code (src/backend/utils/adt/formatting.c)
> > > Np->sign == '+', is different than "!= '-'" and is different than "!=
> > '+'"
> > > So the else is never hit.
> >
> > formatting.c: I don't see the problem.
> >
> > if (Np->sign != '-')
> > ...
> > else if (Np->sign != '+' && IS_PLUS(Np->Num))
> > ...
> >
> > You said that the "else" is never hit, but why ?
>
> This is a Coverity report.
>
> dead_error_condition: The condition Np->Num->flag & 0x200 cannot be true.
> 5671 else if (Np->sign != '+' && IS_PLUS(Np->Num))
>
> CID 1501076 (#1 of 1): Logically dead code (DEADCODE)dead_error_line: Execution
> cannot reach this statement: Np->Num->flag &= 0xffffffff....
>
> So, the dead code is because IS_PUS(Np->Num) is already tested and cannot
> be true on else.

Makes sense now (in your first message, you said that the problem was
with "sign", and the patch didn't address the actual problem in
IS_PLUS()).

One can look and find that the unreachable code was introduced at
7a3e7b64a.

With your proposed change, the unreachable line is hit by regression
tests, which is an improvment. As is the change to pg_dump.c.

--
Justin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2022-12-23 02:21:14 Re: Avoid lost result of recursion (src/backend/optimizer/util/inherit.c)
Previous Message Michael Paquier 2022-12-23 01:06:40 Re: Add LSN along with offset to error messages reported for WAL file read/write/validate header failures