aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-01-01 10:39:19 +0900
committerMichael Paquier <michael@paquier.xyz>2019-01-01 10:39:19 +0900
commitd880b208e5fcf55e3ae396d5fc5fa6639f58205f (patch)
tree4607048daed196736ace80282789143e0c7535e3
parent8d3b389ec3405659d8e2968fc6179b28b286ccd8 (diff)
downloadpostgresql-d880b208e5fcf55e3ae396d5fc5fa6639f58205f.tar.gz
postgresql-d880b208e5fcf55e3ae396d5fc5fa6639f58205f.zip
Fix generation of padding message before encrypting Elgamal in pgcrypto
fe0a0b5, which has added a stronger random source in Postgres, has introduced a thinko when creating a padding message which gets encrypted for Elgamal. The padding message cannot have zeros, which are replaced by random bytes. However if pg_strong_random() failed, the message would finish by being considered in correct shape for encryption with zeros. Author: Tom Lane Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/20186.1546188423@sss.pgh.pa.us Backpatch-through: 10
-rw-r--r--contrib/pgcrypto/pgp-pubenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/pgcrypto/pgp-pubenc.c b/contrib/pgcrypto/pgp-pubenc.c
index 44398766643..e4ff832f90d 100644
--- a/contrib/pgcrypto/pgp-pubenc.c
+++ b/contrib/pgcrypto/pgp-pubenc.c
@@ -66,7 +66,7 @@ pad_eme_pkcs1_v15(uint8 *data, int data_len, int res_len, uint8 **res_p)
{
px_memset(buf, 0, res_len);
px_free(buf);
- break;
+ return PXE_NO_RANDOM;
}
}
if (*p != 0)