#3779: segfault on OSX during cert acceptance prompt
-------------------------+---------------------
Reporter: balderdash | Owner: brendan
Type: defect | Status: new
Priority: major | Milestone:
Component: IMAP | Version: 1.5.23
Resolution: | Keywords:
-------------------------+---------------------
Comment (by kevin8t8):
It looks like interactive_check_cert() and tls_check_one_certificate() are
both setting OPTUNBUFFEREDINPUT. However, inside mutt_menuLoop(),
menu_dialog_dokey() is trying to take a look at the next character to see
if it's one of the "r/o/a" defined in the dialog. If not it's calling
mutt_ungetch() to put the character back on the stack. But with
unbuffered input, the next call to mutt_getch() [km_dokey] is not looking
at the KeyEvent stack!
That's probably what's causing having to hit "?" twice.
Additionally, I notice they are both calling
{{{
menu = mutt_new_menu (-1);
}}}
Inside km_dokey:
{{{
struct keymap_t *map = Keymaps[menu];
}}}
where menu is -1. So that seems likely to be causing your segfault.
I'm not sure whether the intent of setting up the dialog was to completely
override the menu system, or whether we should just be using MENU_GENERIC
when setting it up. Regardless, setting unbuffered input seems contrary
to how menu_dialog_dokey() is working, so that probably needs to be turned
off.
I'll play around with this and create a patch later today.
--
Ticket URL: <http://dev.mutt.org/trac/ticket/3779#comment:3>
Mutt <http://www.mutt.org/>
The Mutt mail user agent