pgcrypto: Code cleanup for decrypt_internal.
authorRobert Haas <[email protected]>
Wed, 4 Feb 2015 13:41:35 +0000 (08:41 -0500)
committerRobert Haas <[email protected]>
Wed, 4 Feb 2015 13:46:32 +0000 (08:46 -0500)
Remove some unnecessary null-tests, and replace a goto-label construct
with an "if" block.

Michael Paquier, reviewed by me.

contrib/pgcrypto/pgp-pgsql.c

index 1a0e710301c010db647c69b4c08757b6d5f35785..d0da05cd13a24f380d9183c41d4edd28575070bc 100644 (file)
@@ -575,35 +575,25 @@ decrypt_internal(int is_pubenc, int need_text, text *data,
        err = pgp_set_symkey(ctx, (uint8 *) VARDATA(key),
                             VARSIZE(key) - VARHDRSZ);
 
-   /*
-    * decrypt
-    */
+   /* decrypt */
    if (err >= 0)
+   {
        err = pgp_decrypt(ctx, src, dst);
 
-   /*
-    * failed?
-    */
-   if (err < 0)
-       goto out;
-
-   if (ex.expect)
-       check_expect(ctx, &ex);
+       if (ex.expect)
+           check_expect(ctx, &ex);
 
-   /* remember the setting */
-   got_unicode = pgp_get_unicode_mode(ctx);
+       /* remember the setting */
+       got_unicode = pgp_get_unicode_mode(ctx);
+   }
 
-out:
-   if (src)
-       mbuf_free(src);
-   if (ctx)
-       pgp_free(ctx);
+   mbuf_free(src);
+   pgp_free(ctx);
 
    if (err)
    {
        px_set_debug_handler(NULL);
-       if (dst)
-           mbuf_free(dst);
+       mbuf_free(dst);
        ereport(ERROR,
                (errcode(ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION),
                 errmsg("%s", px_strerror(err))));