summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/pgcrypto/pgp-pgsql.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/contrib/pgcrypto/pgp-pgsql.c b/contrib/pgcrypto/pgp-pgsql.c
index 1a0e710301c..d0da05cd13a 100644
--- a/contrib/pgcrypto/pgp-pgsql.c
+++ b/contrib/pgcrypto/pgp-pgsql.c
@@ -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))));