libcacard: don't free sign buffer while sign op is pending
commit81b49e8f892a977f3821f3416ea51aa641d63ac4
authorRay Strode <rstrode@redhat.com>
Sun, 19 Oct 2014 02:12:49 +0000 (18 22:12 -0400)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 28 Oct 2014 10:38:18 +0000 (28 11:38 +0100)
treea07966fbb3c6ddf79779b88685636789b776e0ca
parent1223bc4cee3fcdbcb1f6a3ff4ff7a3ab1d875b8a
libcacard: don't free sign buffer while sign op is pending

commit 57f97834efe0c208ffadc9d2959f3d3d55580e52 cleaned up
the cac_applet_pki_process_apdu function to have a single
exit point. Unfortunately, that commit introduced a bug
where the sign buffer can get free'd and nullified while
it's still being used.

This commit corrects the bug by introducing a boolean to
track whether or not the sign buffer should be freed in
the function exit path.

Signed-off-by: Ray Strode <rstrode@redhat.com>
Reviewed-by: Alon Levy <alon@pobox.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
libcacard/cac.c