diff options
| author | Yuan Fu | 2024-07-21 16:50:59 -0700 |
|---|---|---|
| committer | Yuan Fu | 2024-07-21 17:14:08 -0700 |
| commit | ed38fcc01703d166d8a63989f8167b50ebd954a0 (patch) | |
| tree | ae126893e95af193a912dd711fb9034cbdff2ccb /src | |
| parent | c66bda1a19afd7d8391765e2ed207e44107d8a50 (diff) | |
| download | emacs-ed38fcc01703d166d8a63989f8167b50ebd954a0.tar.gz emacs-ed38fcc01703d166d8a63989f8167b50ebd954a0.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 3ae55d77a91..416c1edf791 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. */ |