diff options
| author | Yuan Fu | 2024-07-21 16:50:59 -0700 |
|---|---|---|
| committer | Yuan Fu | 2024-07-21 16:51:59 -0700 |
| commit | 4868a17396b6796b77285a3608b383aac32aee4f (patch) | |
| tree | d80c60f5bd3f3045c6d0d07711862ad0c5971d26 /src | |
| parent | ccb856189f483abfaa584f428b09a863f816a040 (diff) | |
| download | emacs-4868a17396b6796b77285a3608b383aac32aee4f.tar.gz emacs-4868a17396b6796b77285a3608b383aac32aee4f.zip | |
Fix segfault when deleting tree-sitter query (bug#72238)
* src/treesit.c (treesit_delete_query): Only delete query and cursor
when they are non-NULL.
Diffstat (limited to 'src')
| -rw-r--r-- | src/treesit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/treesit.c b/src/treesit.c index 5ed15bca788..a420ef77b2d 100644 --- a/src/treesit.c +++ b/src/treesit.c | |||
| @@ -1224,8 +1224,10 @@ treesit_delete_parser (struct Lisp_TS_Parser *lisp_parser) | |||
| 1224 | void | 1224 | void |
| 1225 | treesit_delete_query (struct Lisp_TS_Query *lisp_query) | 1225 | treesit_delete_query (struct Lisp_TS_Query *lisp_query) |
| 1226 | { | 1226 | { |
| 1227 | ts_query_delete (lisp_query->query); | 1227 | if (lisp_query->query) |
| 1228 | ts_query_cursor_delete (lisp_query->cursor); | 1228 | ts_query_delete (lisp_query->query); |
| 1229 | if (lisp_query->cursor) | ||
| 1230 | ts_query_cursor_delete (lisp_query->cursor); | ||
| 1229 | } | 1231 | } |
| 1230 | 1232 | ||
| 1231 | /* The following function is called from print.c:print_vectorlike. */ | 1233 | /* The following function is called from print.c:print_vectorlike. */ |