texinfo-commits
[Top][All Lists]
Advanced

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

[no subject]


From: Patrice Dumas
Date: Tue, 24 Dec 2024 03:44:25 -0500 (EST)

branch: master
commit 8fd915ed9cd35c7df6f783bcb925cf96e0e9d899
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Mon Dec 23 19:32:46 2024 +0100

    * tp/Texinfo/XS/teximakehtml.c (locate_and_load_init_file)
    (locate_and_load_extension_file, main): free strings and structures to
    avoid memory leaks found with valgrind.
---
 ChangeLog                    | 6 ++++++
 tp/Texinfo/XS/teximakehtml.c | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index fabb57a1c7..a13c04e989 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-12-23  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/XS/teximakehtml.c (locate_and_load_init_file)
+       (locate_and_load_extension_file, main): free strings and structures to
+       avoid memory leaks found with valgrind.
+
 2024-12-23  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/XS/convert/texinfo.c (txi_load_init_file): add
diff --git a/tp/Texinfo/XS/teximakehtml.c b/tp/Texinfo/XS/teximakehtml.c
index 06a979aa92..8b3fcf36ae 100644
--- a/tp/Texinfo/XS/teximakehtml.c
+++ b/tp/Texinfo/XS/teximakehtml.c
@@ -778,6 +778,7 @@ locate_and_load_init_file (const char *filename, 
STRING_LIST *directories,
                      filename);
           free (decoded_filename);
         }
+      free (file);
     }
   else
     {
@@ -813,6 +814,7 @@ locate_and_load_extension_file (const char *filename, 
STRING_LIST *directories)
                      filename);
           free (decoded_filename);
         }
+      free (file);
     }
   else
     {
@@ -1114,7 +1116,9 @@ main (int argc, char *argv[], char *env[])
                                            deprecated_dir_info->reference_dir);
           add_new_deprecated_dir_info (&deprecated_directories,
                                        init_dir, reference_init_dir);
+          free (reference_init_dir);
         }
+      free (init_dir);
     }
   add_string (extensions_dir, &converter_init_dirs);
 
@@ -1884,6 +1888,8 @@ main (int argc, char *argv[], char *env[])
                           default_expanded_formats.list[i]);
     }
 
+  free_strings_list (&default_expanded_formats);
+
   /* corresponds to eval "require $module"; in texi2any.pl */
   txi_converter_output_format_setup (converted_format);
 
@@ -2382,6 +2388,8 @@ main (int argc, char *argv[], char *env[])
   free_strings_list (&converter_init_dirs);
   free_strings_list (&converter_config_dirs);
 
+  free_deprecated_dirs_list (&deprecated_directories);
+
   destroy_strings_list (converter_config_dirs_array_ref);
   destroy_strings_list (texinfo_language_config_dirs);
   wipe_values (&values);



reply via email to

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