]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crash on MS-Windows due to memory-allocation problem in treesit.c
authorEli Zaretskii <eliz@gnu.org>
Sun, 13 Nov 2022 08:51:42 +0000 (10:51 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sun, 13 Nov 2022 08:51:42 +0000 (10:51 +0200)
* src/treesit.c (treesit_load_language): Use 'xstrdup'/'xfree'
instead of 'strdup'/'free', to prevent crashes on MS-Windows,
where we must use our own implementation of 'malloc'/'free',
whereas 'strdup' uses the default implementation in the MS-Windows
C runtime library.

src/treesit.c

index 854d7754f0a02feaf522ec08bb975c264bf40dc8..86328ae03e93accde2a97d6c4cf6780122912876 100644 (file)
@@ -578,12 +578,12 @@ treesit_load_language (Lisp_Object language_symbol,
   /* Load TSLanguage.  */
   dynlib_error ();
   TSLanguage *(*langfn) (void);
-  char *c_name = strdup (SSDATA (base_name));
+  char *c_name = xstrdup (SSDATA (base_name));
   treesit_symbol_to_c_name (c_name);
   if (found_override)
     c_name = SSDATA (override_c_name);
   langfn = dynlib_sym (handle, c_name);
-  free (c_name);
+  xfree (c_name);
   error = dynlib_error ();
   if (error != NULL)
     {