diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2012-01-27 23:09:16 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2012-01-27 23:09:33 -0500 |
commit | 7c016e3f56e2a7d8e9dd00a6d2d80bdc2239424e (patch) | |
tree | 9a147a912ab5ba9c8c1feea2b494fa78d12fafd1 | |
parent | b7922a6dd0ec2ff949751d77b004576c820de19c (diff) | |
download | postgresql-7c016e3f56e2a7d8e9dd00a6d2d80bdc2239424e.tar.gz postgresql-7c016e3f56e2a7d8e9dd00a6d2d80bdc2239424e.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.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/contrib/pgcrypto/pgcrypto.c b/contrib/pgcrypto/pgcrypto.c index d271ddc3029..1da3afcd1d8 100644 --- a/contrib/pgcrypto/pgcrypto.c +++ b/contrib/pgcrypto/pgcrypto.c @@ -342,8 +342,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); @@ -396,8 +396,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); |