Commit 22e1943f authored by Peter Eisentraut's avatar Peter Eisentraut

pgcrypto: Check for error return of px_cipher_decrypt()

This has previously not been a problem (that anyone ever reported),
but in future OpenSSL versions (3.0.0), where legacy ciphers are/can
be disabled, this is the place where this is reported.  So we need to
catch the error here, otherwise the higher-level functions would
return garbage.  The nearby encryption code already handled errors
similarly.
Reviewed-by: default avatarDaniel Gustafsson <daniel@yesql.se>
Discussion: https://www.postgresql.org/message-id/9e9c431c-0adc-7a6d-9b1a-915de1ba3fe7@enterprisedb.com
parent a6715af1
......@@ -292,6 +292,7 @@ static int
combo_decrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
uint8 *res, unsigned *rlen)
{
int err = 0;
unsigned bs,
i,
pad;
......@@ -317,7 +318,9 @@ combo_decrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
/* decrypt */
*rlen = dlen;
px_cipher_decrypt(c, data, dlen, res);
err = px_cipher_decrypt(c, data, dlen, res);
if (err)
return err;
/* unpad */
if (bs > 1 && cx->padding)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment