aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog3
-rw-r--r--g10/mainproc.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 281fb1534..804945eb3 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,5 +1,8 @@
2002-05-11 Werner Koch <[email protected]>
+ * mainproc.c (proc_symkey_enc): Avoid segv in case the parser
+ encountered an invalid packet.
+
* keyserver.c (keyserver_export): Get confirmation before sending
all keys.
diff --git a/g10/mainproc.c b/g10/mainproc.c
index 7439e43dc..84824c275 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -244,7 +244,9 @@ proc_symkey_enc( CTX c, PACKET *pkt )
PKT_symkey_enc *enc;
enc = pkt->pkt.symkey_enc;
- if (enc->seskeylen)
+ if (!enc)
+ log_error ("invalid symkey encrypted packet\n");
+ else if (enc->seskeylen)
log_error ("symkey_enc packet with session keys are not supported!\n");
else {
int algo = enc->cipher_algo;