agent: Fix alignment problem with the second passphrase struct.
authorWerner Koch <wk@gnupg.org>
Thu, 1 Oct 2015 11:21:25 +0000 (13:21 +0200)
committerWerner Koch <wk@gnupg.org>
Fri, 2 Oct 2015 08:58:40 +0000 (10:58 +0200)
commitddf9dd135acd2b3635bb986f6dfc0e4e446d5fad
treefc5e83d666ed95c6d2132c2d30bcada72a9ce575
parent2acceba5cc299796c7b5b1851a9baeb75d9f32a1
agent: Fix alignment problem with the second passphrase struct.

* agent/genkey.c (agent_ask_new_passphrase): Use a separate malloc for
PI2.  Check return value of the malloc function.
* agent/command-ssh.c (ssh_identity_register): Use a separate malloc
for PI2.  Wipe PI2.
--

For whatever stupid reasons I once allocated only one memory area and
split that into PI and PI2.  This is actually a common pattern with
malloc but here we used a made up object size and do not take the
extra alignment required into account.  One of these not yet hit by
a (sig)bus PC/VAX hacker bugs.

Instead of trying to fix the alignment, it is better to use a second
calloc for the second struct.

GnuPG-bug-id: 2112
Signed-off-by: Werner Koch <wk@gnupg.org>
agent/command-ssh.c
agent/genkey.c