diff options
| author | Eli Zaretskii | 2023-02-07 21:53:05 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2023-02-07 21:53:05 +0200 |
| commit | c9ba05af8dfabca00023bd2312dec4ec59497801 (patch) | |
| tree | 7519897e8d551a6e790d467e33ccfe8ece5c38e7 /src | |
| parent | 746748f5c283b98a221571e725833affe304a748 (diff) | |
| download | emacs-c9ba05af8dfabca00023bd2312dec4ec59497801.tar.gz emacs-c9ba05af8dfabca00023bd2312dec4ec59497801.zip | |
Fix crashes inside 'xfree' called from treesit.c
* src/treesit.c (treesit_load_language): Always xstrdup 'c_name',
to avoid crashes inside xfree. (Bug#61351)
Diffstat (limited to 'src')
| -rw-r--r-- | src/treesit.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/treesit.c b/src/treesit.c index 8e772523cc7..b15d44fca01 100644 --- a/src/treesit.c +++ b/src/treesit.c | |||
| @@ -620,7 +620,7 @@ treesit_load_language (Lisp_Object language_symbol, | |||
| 620 | char *c_name = xstrdup (SSDATA (base_name)); | 620 | char *c_name = xstrdup (SSDATA (base_name)); |
| 621 | treesit_symbol_to_c_name (c_name); | 621 | treesit_symbol_to_c_name (c_name); |
| 622 | if (found_override) | 622 | if (found_override) |
| 623 | c_name = SSDATA (override_c_name); | 623 | c_name = xstrdup (SSDATA (override_c_name)); |
| 624 | langfn = dynlib_sym (handle, c_name); | 624 | langfn = dynlib_sym (handle, c_name); |
| 625 | xfree (c_name); | 625 | xfree (c_name); |
| 626 | error = dynlib_error (); | 626 | error = dynlib_error (); |