emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 d11d7aee1a: ; Fix memory leak in treesit.c


From: Eli Zaretskii
Subject: emacs-29 d11d7aee1a: ; Fix memory leak in treesit.c
Date: Wed, 8 Feb 2023 11:41:23 -0500 (EST)

branch: emacs-29
commit d11d7aee1a6f4d675214353204a6f5655c1caa4b
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    ; Fix memory leak in treesit.c
    
    * src/treesit.c (treesit_load_language): Fix a memory leak.
    Reported by Eric Gillespie <epg@pretzelnet.org>.
---
 src/treesit.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/treesit.c b/src/treesit.c
index b15d44fca0..cfa3721b5e 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -617,10 +617,14 @@ treesit_load_language (Lisp_Object language_symbol,
   eassume (handle != NULL);
   dynlib_error ();
   TSLanguage *(*langfn) (void);
-  char *c_name = xstrdup (SSDATA (base_name));
-  treesit_symbol_to_c_name (c_name);
+  char *c_name;
   if (found_override)
     c_name = xstrdup (SSDATA (override_c_name));
+  else
+    {
+      c_name = xstrdup (SSDATA (base_name));
+      treesit_symbol_to_c_name (c_name);
+    }
   langfn = dynlib_sym (handle, c_name);
   xfree (c_name);
   error = dynlib_error ();



reply via email to

[Prev in Thread] Current Thread [Next in Thread]