]> granicus.if.org Git - postgresql/commitdiff
pgcrypto: Code cleanup for decrypt_internal.
authorRobert Haas <rhaas@postgresql.org>
Wed, 4 Feb 2015 13:41:35 +0000 (08:41 -0500)
committerRobert Haas <rhaas@postgresql.org>
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))));