aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2012-01-27 23:09:16 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2012-01-27 23:09:16 -0500
commita8b4b84360e5ea145d12d372305b50f6774b0366 (patch)
tree6881b2ba6f18d44a611053b39ef150c0100a295d
parent0816fad6eebddb8f1f0e21635e46625815d690b9 (diff)
downloadpostgresql-a8b4b84360e5ea145d12d372305b50f6774b0366.tar.gz
postgresql-a8b4b84360e5ea145d12d372305b50f6774b0366.zip
Fix error detection in contrib/pgcrypto's encrypt_iv() and decrypt_iv().
Due to oversights, the encrypt_iv() and decrypt_iv() functions failed to report certain types of invalid-input errors, and would instead return random garbage values. Marko Kreen, per report from Stefan Kaltenbrunner
-rw-r--r--contrib/pgcrypto/pgcrypto.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/contrib/pgcrypto/pgcrypto.c b/contrib/pgcrypto/pgcrypto.c
index c7588532a8e..a441ca77f12 100644
--- a/contrib/pgcrypto/pgcrypto.c
+++ b/contrib/pgcrypto/pgcrypto.c
@@ -341,8 +341,8 @@ pg_encrypt_iv(PG_FUNCTION_ARGS)
err = px_combo_init(c, (uint8 *) VARDATA(key), klen,
(uint8 *) VARDATA(iv), ivlen);
if (!err)
- px_combo_encrypt(c, (uint8 *) VARDATA(data), dlen,
- (uint8 *) VARDATA(res), &rlen);
+ err = px_combo_encrypt(c, (uint8 *) VARDATA(data), dlen,
+ (uint8 *) VARDATA(res), &rlen);
px_combo_free(c);
@@ -395,8 +395,8 @@ pg_decrypt_iv(PG_FUNCTION_ARGS)
err = px_combo_init(c, (uint8 *) VARDATA(key), klen,
(uint8 *) VARDATA(iv), ivlen);
if (!err)
- px_combo_decrypt(c, (uint8 *) VARDATA(data), dlen,
- (uint8 *) VARDATA(res), &rlen);
+ err = px_combo_decrypt(c, (uint8 *) VARDATA(data), dlen,
+ (uint8 *) VARDATA(res), &rlen);
px_combo_free(c);