aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2023-02-07 21:53:05 +0200
committerEli Zaretskii2023-02-07 21:53:05 +0200
commitc9ba05af8dfabca00023bd2312dec4ec59497801 (patch)
tree7519897e8d551a6e790d467e33ccfe8ece5c38e7 /src
parent746748f5c283b98a221571e725833affe304a748 (diff)
downloademacs-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.c2
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 ();