ret = silc_load_key_pair(pub, prv, "", &irssi_pubkey, &irssi_privkey);
if (!ret)
ret = silc_load_key_pair(pub, prv, NULL, &irssi_pubkey, &irssi_privkey);
-
- if (!ret)
+ if (!ret) {
SILC_LOG_ERROR(("Could not load key pair"));
+ return ret;
+ }
if (silc_pkcs_private_key_get_len(irssi_privkey) < 4096) {
fprintf(stdout,
* the operation has been aborted.
*/
ctx->user_prompt_proc(NULL, ctx->user_context, KeyboardCompletionAborted);
+
+ /*
+ * Allow new prompt after we've abored despite us leaking Irssi prompt
+ * data. It's more important to get new prompt up and this abort
+ * guarantees we handle things correctly towards silcclient library by
+ * calling the callback above.
+ */
+ silc_keyboard_prompt_pending = FALSE;
}
static void silc_keyboard_entry_redirect_completion(const char *line,