aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2010-10-20 22:20:33 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2010-10-20 22:24:55 +0300
commit4a75c7f9f1120db240b4ddccaa7d46f82bb495c0 (patch)
tree1864561a9cf71662abf397d78b33a5444678d872
parentd4346e15b477cffae44e1f2fbe1f3235abdb458b (diff)
downloadpostgresql-4a75c7f9f1120db240b4ddccaa7d46f82bb495c0.tar.gz
postgresql-4a75c7f9f1120db240b4ddccaa7d46f82bb495c0.zip
If pk is NULL, the backend would segfault when accessing ->algo and the
following NULL check was never reached. This problem was found by Coccinelle (null_ref.cocci from coccicheck). Marti Raudsepp
-rw-r--r--contrib/pgcrypto/pgp-pubenc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/pgcrypto/pgp-pubenc.c b/contrib/pgcrypto/pgp-pubenc.c
index 0e9ebb42858..9b44fbfc692 100644
--- a/contrib/pgcrypto/pgp-pubenc.c
+++ b/contrib/pgcrypto/pgp-pubenc.c
@@ -199,7 +199,7 @@ pgp_write_pubenc_sesskey(PGP_Context *ctx, PushFilter *dst)
PGP_PubKey *pk = ctx->pub_key;
uint8 ver = 3;
PushFilter *pkt = NULL;
- uint8 algo = pk->algo;
+ uint8 algo;
if (pk == NULL)
{
@@ -207,6 +207,8 @@ pgp_write_pubenc_sesskey(PGP_Context *ctx, PushFilter *dst)
return PXE_BUG;
}
+ algo = pk->algo;
+
/*
* now write packet
*/