Re: Unnecessary pointer-NULL checks in pgp-pgsql.c

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Unnecessary pointer-NULL checks in pgp-pgsql.c
Date: 2015-02-03 15:30:01
Message-ID: CA+TgmobLEbhP4z7N8vb939Oyyb8EWOKFWDL3o2hO3m40S4YwPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Feb 1, 2015 at 9:14 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> Coverity is pointing out that we are doing pointer-NULL checks on
> things that cannot be NULL in decrypt_internal():
> out:
> - if (src)
> - mbuf_free(src);
> - if (ctx)
> - pgp_free(ctx);
> + Assert(ctx != NULL && src != NULL && dst != NULL);
> + mbuf_free(src);
> + pgp_free(ctx);
>
> if (err)
> {
> px_set_debug_handler(NULL);
> - if (dst)
> - mbuf_free(dst);
> + mbuf_free(dst);
>
> src, dst and ctx are created respectively from mbuf_create_from_data,
> mbuf_create and pgp_init which never return NULL and they are palloc'd
> all the time. I think that we could simplify things with the patch
> attached, note that I added an assertion for correctness but I don't
> really think that it is much necessary.

Yeah, I'd drop the assertion. Also, how about changing things around
slightly so that we lose the goto-label construct? There's only one
goto, and its only about 6 lines before the label, so we could just
flip the sense of the if-test and put the code that gets skipped
inside the if-block.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2015-02-03 15:39:01 Re: REINDEX CONCURRENTLY 2.0
Previous Message Andres Freund 2015-02-03 15:23:30 Re: Proposal : REINDEX xxx VERBOSE