no problem, it's been awhile since i've touched c++ but i've checked locally to verify that this is the source of the issue, and changing if (p_completion_start) to if (p_completion_start && strlen(p_completion_start) < DOS_PATHLENGTH) seems to fix the crush and append the search function after the paragraph signs + whatever letter is after them as the code designate in the else case.(DOS_PATHLENGTH being the limit given to the string "mask" which casued the buffer overflow),
it happens after 82 paragarph signs(ctrl+t) and then searching using the ctrl+I the log it brings *** buffer overflow detected ***: ./dosbox terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe6965517e5] /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7fe6965f315c] /lib/x86_64-linux-gnu/libc.so.6(+0x117160)[0x7fe6965f1160] /lib/x86_64-linux-gnu/libc.so.6(+0x116405)[0x7fe6965f0405] ./dosbox[0x60d968] ./dosbox[0x60540a] ./dosbox[0x604f55] ./dosbox(main+0x54a)[0x40896a]...
it happens after 82 paragarph signs(ctrl+t) and then putting tab(ctrl +i) the log it brings *** buffer overflow detected ***: ./dosbox terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe6965517e5] /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7fe6965f315c] /lib/x86_64-linux-gnu/libc.so.6(+0x117160)[0x7fe6965f1160] /lib/x86_64-linux-gnu/libc.so.6(+0x116405)[0x7fe6965f0405] ./dosbox[0x60d968] ./dosbox[0x60540a] ./dosbox[0x604f55] ./dosbox(main+0x54a)[0x40896a]...