[C++] 51 FLTK : findコマンド生成アプリ/ FL_Menu_Itemの設定ミス

[M1 Mac, Big Sur 11.6.5, FLTK 1.3.8]

macOS MontereyからBig Surにダウングレードしたところ、コマンドキーを押すとアプリが落ちるようになりました。エラー発生時に表示される解析情報を読むとどうやらFL_Menu_Itemまわりがおかしいようでした。

参考サイトのコードと全く同じようにプルダウンメニュー項目の最後に0を追加すると直りました。Montereyやアップグレード前のBig Surでは0がなくても正常に動いていたのに不思議です。

2022/5/18追記:
0(ヌルポインタ)が必要なのはイテレータに次の要素がないことを知らせるためでした。こんなことがすぐに分からないようではまだまだです。

Process:               FileFinder [8791]
Path:                  /Volumes/VOLUME/*/FileFinder
Identifier:            FileFinder
Version:               0
Code Type:             ARM-64 (Native)
Parent Process:        bash [8781]
Responsible:           Terminal [414]
User ID:               501

Date/Time:             2022-05-17 00:09:08.114 +0900
OS Version:            macOS 11.6.5 (20G527)
Report Version:        12
Anonymous UUID:        8099E198-41F7-976F-694A-6B1FB4EBE622


Time Awake Since Boot: 45000 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x1600000000000000 -> 0x0000000000000000 (possible pointer authentication failure)
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [8791]

VM Regions Near 0:
--> 
    __TEXT                      102480000-10248c000    [   48K] r-x/r-x SM=COW  /Volumes/*

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libfltk.1.3.dylib             	0x00000001026d90e0 Fl_Menu_Item::test_shortcut() const + 20
1   libfltk.1.3.dylib             	0x00000001026d912c Fl_Menu_Item::test_shortcut() const + 96
2   libfltk.1.3.dylib             	0x00000001026d912c Fl_Menu_Item::test_shortcut() const + 96
3   libfltk.1.3.dylib             	0x00000001026bcdbc Fl_Choice::handle(int) + 384
4   libfltk.1.3.dylib             	0x00000001026c69b8 Fl_Group::handle(int) + 960
5   libfltk.1.3.dylib             	0x00000001026b4650 send_event(int, Fl_Widget*, Fl_Window*) + 148
6   libfltk.1.3.dylib             	0x00000001026b45ac Fl::handle_(int, Fl_Window*) + 1656
7   libfltk.1.3.dylib             	0x00000001026b4388 Fl::handle_(int, Fl_Window*) + 1108
8   libfltk.1.3.dylib             	0x00000001026aa2c0 -[FLView flagsChanged:] + 308
9   com.apple.AppKit              	0x00000001a1594c10 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 5644
10  com.apple.AppKit              	0x00000001a1593398 -[NSWindow(NSEventRouting) sendEvent:] + 352
11  com.apple.AppKit              	0x00000001a1592270 -[NSApplication(NSEvent) sendEvent:] + 2568
12  libfltk.1.3.dylib             	0x00000001026a636c fl_mac_flush_and_wait(double) + 536
13  libfltk.1.3.dylib             	0x00000001026b373c Fl::run() + 44
14  FileFinder                    	0x0000000102485e88 main + 3836 (FileFinder.cpp:491)
15  libdyld.dylib                 	0x000000019eb41430 start + 4
# 最後の要素の0は無意味ではなかったようです

Fl_Menu_Item pulldown[] = {
  {"and"},
  {"or"},
  {"not"},
  0
};