When a file is opened/closed several times using the recent file list in the files menu, then, NPP crashes occasionally after 3 to 7 cycles.
The bug is in NppIO.cpp doOpen() function because there the function _lastRecentFileList.remove() deletes the buffer (in the recent file list) where *fileName pointer points at.
NPP then crashes randomly at generic_string gs_fileName = fileName; below where *fileName is used.
Therefore, _lastRecentFileList.remove(); statement is moved down, where *fileName is no more used.
See patch NppPatch_6.3_FixCrashOpenRecentFileListFiles.patch