|
5 | 5 | "author_association": "MEMBER",
|
6 | 6 | "body": "### Neovim version (nvim -v)\n\nv0.8.0-dev+532-g60604d6a9\n\n### Vim (not Nvim) behaves the same?\n\nNo\n\n### Operating system/version\n\nArch Linux\n\n### Terminal name/version\n\nkitty 0.25.2\n\n### $TERM environment variable\n\nxterm-kitty\n\n### Installation\n\nbuild from repo\n\n### How to reproduce the issue\n\n1. Run `nvim --clean`\r\n2. Send `\\x1b[;2u` to Nvim\r\n\n\n### Expected behavior\n\nNo segfault\n\n### Actual behavior\n\nSegfault\r\nASAN log:\r\n```\r\n=================================================================\r\n==799107==ERROR: AddressSanitizer: SEGV on unknown address 0x615df5f6f570 (pc 0x5608bbcff04e bp 0x000000000006 sp 0x7f9df4ff9bb0 T1)\r\n==799107==The signal is caused by a READ memory access.\r\n #0 0x5608bbcff04e in termkey_get_keyname **/.deps/build/src/libtermkey/termkey.c:1220:12\r\n #1 0x5608bbcff04e in termkey_strfkey **/.deps/build/src/libtermkey/termkey.c:1375:26\r\n #2 0x5608bb996d6b in forward_modified_utf8 **/src/nvim/tui/input.c:236:11\r\n #3 0x5608bb9954f6 in tk_getkeys **/src/nvim/tui/input.c:346:7\r\n #4 0x5608bb9902a3 in handle_raw_buffer **/src/nvim/tui/input.c:639:7\r\n #5 0x5608bb98d9a6 in tinput_read_cb **/src/nvim/tui/input.c:656:3\r\n #6 0x5608bab157b2 in read_event **/src/nvim/event/rstream.c:191:5\r\n #7 0x5608bab14a2c in invoke_read_cb **/src/nvim/event/rstream.c:204:3\r\n #8 0x5608bab1361c in read_cb **/src/nvim/event/rstream.c:133:3\r\n #9 0x5608bbce8dbf in uv__read **/.deps/build/src/libuv/src/unix/stream.c:1204:7\r\n #10 0x5608bbce8dbf in uv__stream_io **/.deps/build/src/libuv/src/unix/stream.c:1272:5\r\n #11 0x5608bbcf0e0e in uv__io_poll **/.deps/build/src/libuv/src/unix/epoll.c:374:11\r\n #12 0x5608bbcde657 in uv_run **/.deps/build/src/libuv/src/unix/core.c:405:5\r\n #13 0x5608baafef7a in loop_poll_events **/src/nvim/event/loop.c:60:3\r\n #14 0x5608bb9ae4a2 in tui_main **/src/nvim/tui/tui.c:506:5\r\n #15 0x5608bba0c831 in ui_thread_run **/src/nvim/ui_bridge.c:106:3\r\n #16 0x7f9df688c54c (/usr/lib/libc.so.6+0x8c54c)\r\n #17 0x7f9df6911873 in __clone (/usr/lib/libc.so.6+0x111873)\r\n\r\nAddressSanitizer can not provide additional info.\r\nSUMMARY: AddressSanitizer: SEGV **/.deps/build/src/libtermkey/termkey.c:1220:12 in termkey_get_keyname\r\nThread T1 created by T0 here:\r\n #0 0x5608ba35f7d8 in __interceptor_pthread_create (**/build/bin/nvim+0xc147d8)\r\n #1 0x5608bbceb10b in uv_thread_create_ex **/.deps/build/src/libuv/src/unix/thread.c:279:9\r\n #2 0x5608bb99f77a in tui_start **/src/nvim/tui/tui.c:179:10\r\n #3 0x5608bb9f6898 in ui_builtin_start **/src/nvim/ui.c:139:3\r\n #4 0x5608baf3d754 in main **/src/nvim/main.c:343:7\r\n #5 0x7f9df682928f (/usr/lib/libc.so.6+0x2928f)\r\n\r\n==799107==ABORTING\r\n```",
|
7 | 7 | "closed_at": null,
|
8 |
| - "comment_data": [], |
9 |
| - "comments": 0, |
| 8 | + "comment_data": [ |
| 9 | + { |
| 10 | + "author_association": "MEMBER", |
| 11 | + "body": "New ASAN log:\r\n```\r\n**/src/termkey/termkey.c:780:51: runtime error: index -1 out of bounds for type 'struct keyinfo[32]'\r\n #0 0x56516a91aca8 in emit_codepoint **/src/termkey/termkey.c:780:69\r\n #1 0x56516a8f3832 in handle_csi_u **/src/termkey/driver-csi.c:150:7\r\n #2 0x56516a8fcca2 in peekkey_csi **/src/termkey/driver-csi.c:567:14\r\n #3 0x56516a8f075f in peekkey **/src/termkey/driver-csi.c:720:18\r\n #4 0x56516a90d4de in peekkey **/src/termkey/termkey.c:883:11\r\n #5 0x56516a90cbc5 in termkey_getkey **/src/termkey/termkey.c:1042:23\r\n #6 0x56516a5fc758 in tk_getkey **/src/nvim/tui/input.c:434:50\r\n #7 0x56516a5fbe2e in tk_getkeys **/src/nvim/tui/input.c:442:20\r\n #8 0x56516a5f7620 in handle_raw_buffer **/src/nvim/tui/input.c:720:7\r\n #9 0x56516a5f4f60 in tinput_read_cb **/src/nvim/tui/input.c:749:3\r\n #10 0x5651697c298b in read_event **/src/nvim/event/rstream.c:190:5\r\n #11 0x5651697c229b in invoke_read_cb **/src/nvim/event/rstream.c:203:3\r\n #12 0x5651697c0d3c in read_cb **/src/nvim/event/rstream.c:132:3\r\n #13 0x56516aa636ea in uv__read **/.deps/build/src/libuv/src/unix/stream.c:1143:7\r\n #14 0x56516aa6101c in uv__stream_io **/.deps/build/src/libuv/src/unix/stream.c:1203:5\r\n #15 0x56516aa6cde5 in uv__io_poll **/.deps/build/src/libuv/src/unix/linux.c:1526:11\r\n #16 0x56516aa4f4b5 in uv_run **/.deps/build/src/libuv/src/unix/core.c:447:5\r\n #17 0x5651697ab2ad in loop_uv_run **/src/nvim/event/loop.c:63:5\r\n #18 0x5651697ab711 in loop_poll_events **/src/nvim/event/loop.c:85:26\r\n #19 0x56516a672974 in ui_client_run **/src/nvim/ui_client.c:120:5\r\n #20 0x565168f5247f in main **/src/nvim/main.c:389:5\r\n #21 0x7efdab459ccf (/usr/lib/libc.so.6+0x27ccf) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)\r\n #22 0x7efdab459d89 in __libc_start_main (/usr/lib/libc.so.6+0x27d89) (BuildId: 8bfe03f6bf9b6a6e2591babd0bbc266837d8f658)\r\n #23 0x565168e19d94 in _start (**/build/bin/nvim+0xbe6d94) (BuildId: c515a501ada749989be044affbd83e97d4afa85c)\r\n\r\nSUMMARY: UndefinedBehaviorSanitizer: undefined-behavior **/src/termkey/termkey.c:780:51 in \r\n```", |
| 12 | + "created_at": "2023-12-01T09:16:27Z", |
| 13 | + "html_url": "https://github.com/neovim/neovim/issues/19183#issuecomment-1835742258", |
| 14 | + "id": 1835742258, |
| 15 | + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19183", |
| 16 | + "node_id": "IC_kwDOAPphoM5tazQy", |
| 17 | + "performed_via_github_app": null, |
| 18 | + "reactions": { |
| 19 | + "+1": 0, |
| 20 | + "-1": 0, |
| 21 | + "confused": 0, |
| 22 | + "eyes": 0, |
| 23 | + "heart": 0, |
| 24 | + "hooray": 0, |
| 25 | + "laugh": 0, |
| 26 | + "rocket": 0, |
| 27 | + "total_count": 0, |
| 28 | + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1835742258/reactions" |
| 29 | + }, |
| 30 | + "updated_at": "2023-12-01T09:16:27Z", |
| 31 | + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1835742258", |
| 32 | + "user": { |
| 33 | + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", |
| 34 | + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", |
| 35 | + "followers_url": "https://api.github.com/users/zeertzjq/followers", |
| 36 | + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", |
| 37 | + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", |
| 38 | + "gravatar_id": "", |
| 39 | + "html_url": "https://github.com/zeertzjq", |
| 40 | + "id": 35768171, |
| 41 | + "login": "zeertzjq", |
| 42 | + "node_id": "MDQ6VXNlcjM1NzY4MTcx", |
| 43 | + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", |
| 44 | + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", |
| 45 | + "repos_url": "https://api.github.com/users/zeertzjq/repos", |
| 46 | + "site_admin": false, |
| 47 | + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", |
| 48 | + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", |
| 49 | + "type": "User", |
| 50 | + "url": "https://api.github.com/users/zeertzjq" |
| 51 | + } |
| 52 | + }, |
| 53 | + { |
| 54 | + "author_association": "MEMBER", |
| 55 | + "body": "This can be simply fixed by the following change:\r\n```diff\r\ndiff --git a/src/termkey/termkey.c b/src/termkey/termkey.c\r\nindex 832e5a9a9..bb9d0d5de 100644\r\n--- a/src/termkey/termkey.c\r\n+++ b/src/termkey/termkey.c\r\n@@ -772,7 +772,7 @@ static void emit_codepoint(TermKey *tk, long codepoint, TermKeyKey *key)\r\n key->code.sym = TERMKEY_SYM_SPACE;\r\n key->modifiers = TERMKEY_KEYMOD_CTRL;\r\n }\r\n- else if(codepoint < 0x20) {\r\n+ else if(codepoint > 0 && codepoint < 0x20) {\r\n // C0 range\r\n key->code.codepoint = 0;\r\n key->modifiers = 0;\r\n```", |
| 56 | + "created_at": "2023-12-01T09:23:44Z", |
| 57 | + "html_url": "https://github.com/neovim/neovim/issues/19183#issuecomment-1835752515", |
| 58 | + "id": 1835752515, |
| 59 | + "issue_url": "https://api.github.com/repos/neovim/neovim/issues/19183", |
| 60 | + "node_id": "IC_kwDOAPphoM5ta1xD", |
| 61 | + "performed_via_github_app": null, |
| 62 | + "reactions": { |
| 63 | + "+1": 0, |
| 64 | + "-1": 0, |
| 65 | + "confused": 0, |
| 66 | + "eyes": 0, |
| 67 | + "heart": 0, |
| 68 | + "hooray": 0, |
| 69 | + "laugh": 0, |
| 70 | + "rocket": 0, |
| 71 | + "total_count": 0, |
| 72 | + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1835752515/reactions" |
| 73 | + }, |
| 74 | + "updated_at": "2023-12-01T09:23:44Z", |
| 75 | + "url": "https://api.github.com/repos/neovim/neovim/issues/comments/1835752515", |
| 76 | + "user": { |
| 77 | + "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4", |
| 78 | + "events_url": "https://api.github.com/users/zeertzjq/events{/privacy}", |
| 79 | + "followers_url": "https://api.github.com/users/zeertzjq/followers", |
| 80 | + "following_url": "https://api.github.com/users/zeertzjq/following{/other_user}", |
| 81 | + "gists_url": "https://api.github.com/users/zeertzjq/gists{/gist_id}", |
| 82 | + "gravatar_id": "", |
| 83 | + "html_url": "https://github.com/zeertzjq", |
| 84 | + "id": 35768171, |
| 85 | + "login": "zeertzjq", |
| 86 | + "node_id": "MDQ6VXNlcjM1NzY4MTcx", |
| 87 | + "organizations_url": "https://api.github.com/users/zeertzjq/orgs", |
| 88 | + "received_events_url": "https://api.github.com/users/zeertzjq/received_events", |
| 89 | + "repos_url": "https://api.github.com/users/zeertzjq/repos", |
| 90 | + "site_admin": false, |
| 91 | + "starred_url": "https://api.github.com/users/zeertzjq/starred{/owner}{/repo}", |
| 92 | + "subscriptions_url": "https://api.github.com/users/zeertzjq/subscriptions", |
| 93 | + "type": "User", |
| 94 | + "url": "https://api.github.com/users/zeertzjq" |
| 95 | + } |
| 96 | + } |
| 97 | + ], |
| 98 | + "comments": 2, |
10 | 99 | "comments_url": "https://api.github.com/repos/neovim/neovim/issues/19183/comments",
|
11 | 100 | "created_at": "2022-07-01T08:34:23Z",
|
12 | 101 | "events_url": "https://api.github.com/repos/neovim/neovim/issues/19183/events",
|
|
54 | 143 | "locked": false,
|
55 | 144 | "milestone": {
|
56 | 145 | "closed_at": null,
|
57 |
| - "closed_issues": 564, |
| 146 | + "closed_issues": 590, |
58 | 147 | "created_at": "2014-05-10T20:43:04Z",
|
59 | 148 | "creator": {
|
60 | 149 | "avatar_url": "https://avatars.githubusercontent.com/u/1359421?v=4",
|
|
83 | 172 | "labels_url": "https://api.github.com/repos/neovim/neovim/milestones/6/labels",
|
84 | 173 | "node_id": "MDk6TWlsZXN0b25lNjU1MDM3",
|
85 | 174 | "number": 6,
|
86 |
| - "open_issues": 412, |
| 175 | + "open_issues": 423, |
87 | 176 | "state": "open",
|
88 | 177 | "title": "backlog",
|
89 |
| - "updated_at": "2023-07-22T08:52:15Z", |
| 178 | + "updated_at": "2023-12-01T09:11:59Z", |
90 | 179 | "url": "https://api.github.com/repos/neovim/neovim/milestones/6"
|
91 | 180 | },
|
92 | 181 | "node_id": "I_kwDOAPphoM5M9JGZ",
|
|
109 | 198 | "state_reason": null,
|
110 | 199 | "timeline_url": "https://api.github.com/repos/neovim/neovim/issues/19183/timeline",
|
111 | 200 | "title": "libtermkey segfaults on receiving invalid CSI u sequence without a unicode key code",
|
112 |
| - "updated_at": "2023-07-22T08:52:11Z", |
| 201 | + "updated_at": "2023-12-01T09:23:45Z", |
113 | 202 | "url": "https://api.github.com/repos/neovim/neovim/issues/19183",
|
114 | 203 | "user": {
|
115 | 204 | "avatar_url": "https://avatars.githubusercontent.com/u/35768171?v=4",
|
|
0 commit comments