From 4a875b5f8b806a91c8a309d699d37d251d78b8f7 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 7 May 2015 18:41:06 +0100 Subject: [PATCH] Fix the inverted return values in pageant_add_ssh*_key(). This would have caused intermittent use-after-free crashes in Windows Pageant, but only with keys added via the primary Pageant's own UI or command line - not keys submitted from another process, because those don't go through the same function. --- pageant.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pageant.c b/pageant.c index 33d0d305..495124a5 100644 --- a/pageant.c +++ b/pageant.c @@ -954,12 +954,12 @@ int pageant_count_ssh2_keys(void) int pageant_add_ssh1_key(struct RSAKey *rkey) { - return add234(rsakeys, rkey) != rkey; + return add234(rsakeys, rkey) == rkey; } int pageant_add_ssh2_key(struct ssh2_userkey *skey) { - return add234(ssh2keys, skey) != skey; + return add234(ssh2keys, skey) == skey; } int pageant_delete_ssh1_key(struct RSAKey *rkey)