diff --git a/g10/ChangeLog b/g10/ChangeLog index 33d00104b..a15682902 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2006-06-28 Werner Koch + + * app-openpgp.c (do_writekey): Fixed computation of memmove + length. This led to garbled keys if E was larger than one byte. + Thanks to Achim Pietig for hinting at the garbled E. + 2006-06-27 Werner Koch * gpg.c (reopen_std) [HAVE_W32_SYSTEM]: Do not use it. diff --git a/g10/app-openpgp.c b/g10/app-openpgp.c index ff0143c55..102e52329 100644 --- a/g10/app-openpgp.c +++ b/g10/app-openpgp.c @@ -1789,7 +1789,7 @@ do_writekey (app_t app, ctrl_t ctrl, if (rsa_e_len < 4) { /* Right justify E. */ - memmove (tp+4-rsa_e_len, tp, 4-rsa_e_len); + memmove (tp+4-rsa_e_len, tp, rsa_e_len); memset (tp, 0, 4-rsa_e_len); } tp += 4;