Skip to content

Commit 22e1943

Browse files
committed
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: Daniel Gustafsson <daniel@yesql.se> Discussion: https://www.postgresql.org/message-id/9e9c431c-0adc-7a6d-9b1a-915de1ba3fe7@enterprisedb.com
1 parent a6715af commit 22e1943

File tree

1 file changed

+4
-1
lines changed
  • contrib/pgcrypto

1 file changed

+4
-1
lines changed

contrib/pgcrypto/px.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ static int
292292
combo_decrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
293293
uint8 *res, unsigned *rlen)
294294
{
295+
int err = 0;
295296
unsigned bs,
296297
i,
297298
pad;
@@ -317,7 +318,9 @@ combo_decrypt(PX_Combo *cx, const uint8 *data, unsigned dlen,
317318

318319
/* decrypt */
319320
*rlen = dlen;
320-
px_cipher_decrypt(c, data, dlen, res);
321+
err = px_cipher_decrypt(c, data, dlen, res);
322+
if (err)
323+
return err;
321324

322325
/* unpad */
323326
if (bs > 1 && cx->padding)

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy