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)
This commit is contained in:
Eli Zaretskii 2023-02-07 21:53:05 +02:00
parent 746748f5c2
commit c9ba05af8d

View file

@ -620,7 +620,7 @@ treesit_load_language (Lisp_Object language_symbol,
char *c_name = xstrdup (SSDATA (base_name));
treesit_symbol_to_c_name (c_name);
if (found_override)
c_name = SSDATA (override_c_name);
c_name = xstrdup (SSDATA (override_c_name));
langfn = dynlib_sym (handle, c_name);
xfree (c_name);
error = dynlib_error ();