Re: null iv parameter passed to combo_init() - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: null iv parameter passed to combo_init()
Date
Msg-id CALNJ-vSf3zDrYm6RqoKqD8CkM9J97mmKroN2HD5ryEO6V6oT6Q@mail.gmail.com
Whole thread Raw
In response to Re: null iv parameter passed to combo_init()  (Noah Misch <noah@leadboat.com>)
Responses Re: null iv parameter passed to combo_init()
List pgsql-hackers


On Sun, Jan 9, 2022 at 8:48 AM Noah Misch <noah@leadboat.com> wrote:
On Sun, Jan 09, 2022 at 04:37:32AM -0800, Zhihong Yu wrote:
> On Sat, Jan 8, 2022 at 11:32 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Noah Misch <noah@leadboat.com> writes:
> > > On further thought, I would write it this way:
> >
> > > -             else
> > > +             else if (ivlen != 0)
> > >                       memcpy(ivbuf, iv, ivlen);
> >
> > FWIW, I liked the "ivlen > 0" formulation better.  They should be
> > equivalent, because ivlen is unsigned, but it just seems like "> 0"
> > is more natural.

If I were considering the one code site in isolation, I'd pick "ivlen > 0".
But of the four sites identified so far, three have signed length variables.
Since we're likely to get more examples of this pattern, some signed and some
unsigned, I'd rather use a style that does the optimal thing whether or not
the variable is signed.  What do you think?

> Patch v4 is attached.

Does this pass the test procedure shown upthread?
Hi,
I installed gcc 4.9.3

When I ran:
./configure CFLAGS='-fsanitize=undefined -fsanitize-undefined-trap-on-error' 

I saw:

configure:3977: $? = 0
configure:3966: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3977: $? = 1
configure:3966: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3977: $? = 1
configure:3997: checking whether the C compiler works
configure:4019: gcc -fsanitize=undefined -fsanitize-undefined-trap-on-error   conftest.c  >&5
gcc: error: unrecognized command line option '-fsanitize-undefined-trap-on-error'
configure:4023: $? = 1
configure:4061: result: no

I wonder if a higher version gcc is needed.

FYI

pgsql-hackers by date:

Previous
From: Maciek Sakrejda
Date:
Subject: Re: warn if GUC set to an invalid shared library
Next
From: Anders Kaseorg
Date:
Subject: Re: [PATCH] Prefer getenv("HOME") to find the UNIX home directory