#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

Reply via email to