aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2007-01-15 19:30:33 +0000
committerWerner Koch <[email protected]>2007-01-15 19:30:33 +0000
commit9e4a5071a62909749d29f6b2a2fa6aeabf9bfde1 (patch)
treec76defc937810174f7a48ec1061994c34b74e64f
parentInstalled revised translation. (diff)
downloadgnupg-9e4a5071a62909749d29f6b2a2fa6aeabf9bfde1.tar.gz
gnupg-9e4a5071a62909749d29f6b2a2fa6aeabf9bfde1.zip
* parse-packet.c (read_protected_v3_mpi): Make sure to stop
reading even for corrupted packets. * keygen.c (generate_user_id): Need to allocate one byte more. Reported by Felix von Leitner.
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/keygen.c2
-rw-r--r--g10/parse-packet.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 32f33adee..d041c28db 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,10 @@
+2007-01-15 Werner Koch <[email protected]>
+
+ * parse-packet.c (read_protected_v3_mpi): Make sure to stop
+ reading even for corrupted packets.
+ * keygen.c (generate_user_id): Need to allocate one byte more.
+ Reported by Felix von Leitner.
+
2006-12-14 David Shaw <[email protected]>
* options.skel: Tweak some examples to match reality and update
diff --git a/g10/keygen.c b/g10/keygen.c
index 620274aef..f79eaaaba 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -1958,7 +1958,7 @@ generate_user_id()
if( !p )
return NULL;
n = strlen(p);
- uid = xmalloc_clear( sizeof *uid + n - 1 );
+ uid = xmalloc_clear( sizeof *uid + n );
uid->len = n;
strcpy(uid->name, p);
uid->ref = 1;
diff --git a/g10/parse-packet.c b/g10/parse-packet.c
index 31f21bc92..ed4db4335 100644
--- a/g10/parse-packet.c
+++ b/g10/parse-packet.c
@@ -1533,7 +1533,7 @@ read_protected_v3_mpi (IOBUF inp, unsigned long *length)
buf = p = xmalloc (2 + nbytes);
*p++ = nbits >> 8;
*p++ = nbits;
- for (; nbytes && length; nbytes--, --*length)
+ for (; nbytes && *length; nbytes--, --*length)
*p++ = iobuf_get (inp);
if (nbytes)
{