diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2010-10-20 22:20:33 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2010-10-20 22:24:55 +0300 |
commit | 4a75c7f9f1120db240b4ddccaa7d46f82bb495c0 (patch) | |
tree | 1864561a9cf71662abf397d78b33a5444678d872 | |
parent | d4346e15b477cffae44e1f2fbe1f3235abdb458b (diff) | |
download | postgresql-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.c | 4 |
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 */ |