1585d1f
unchanged:
1585d1f
--- texinfo-6.4/contrib/fix-info-dir.orig	2014-04-22 03:56:56.000000000 +0200
1585d1f
+++ texinfo-6.4/contrib/fix-info-dir	2018-08-08 10:40:42.585496361 +0200
1585d1f
@@ -28,7 +28,6 @@ if test -z "$LINENO"; then
1585d1f
 fi
1585d1f
 
1585d1f
 MENU_BEGIN='^\*\([ 	]\)\{1,\}Menu:'
1585d1f
-MENU_ITEM='^\* ([^ 	]).*:([ 	])+\('
1585d1f
 MENU_FILTER1='s/^\*\([ 	]\)\{1,\}/* /'
1585d1f
 MENU_FILTER2='s/\([ 	]\)\{1,\}$//g'
1585d1f
 
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/echo-area.c.orig	2018-07-25 12:42:38.806784712 +0200
1585d1f
+++ texinfo-6.4/info/echo-area.c	2018-07-25 12:43:15.452815108 +0200
1585d1f
@@ -979,6 +979,7 @@ info_read_completing_internal (const cha
1585d1f
                 inform_in_echo_area (_("No completions"));
1585d1f
               else
1585d1f
                 inform_in_echo_area (_("Not complete"));
1585d1f
+              free (line);
1585d1f
               continue;
1585d1f
             }
1585d1f
         }
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/info.c.orig	2018-07-25 14:12:18.086188150 +0200
1585d1f
+++ texinfo-6.4/info/info.c	2018-07-25 14:13:00.915223083 +0200
1585d1f
@@ -295,6 +295,7 @@ get_initial_file (int *argc, char ***arg
1585d1f
              ref_index, ref_list, ref_slots, 2);
1585d1f
 
1585d1f
           initial_file = MANPAGE_FILE_BUFFER_NAME;
1585d1f
+          free (man_node);
1585d1f
           return;
1585d1f
         }
1585d1f
     }
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/infomap.c.orig	2017-05-15 18:35:24.000000000 +0200
1585d1f
+++ texinfo-6.4/info/infomap.c	2018-07-30 09:40:58.517674645 +0200
1585d1f
@@ -603,6 +603,7 @@ fetch_user_maps (char *init_file)
1585d1f
   compile (inf, filename, &sup_info, &sup_ea);
1585d1f
 
1585d1f
   free (filename);
1585d1f
+  fclose (inf);
1585d1f
   return 1;
1585d1f
 }
1585d1f
 
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/m-x.c.orig	2017-05-14 12:55:17.000000000 +0200
1585d1f
+++ texinfo-6.4/info/m-x.c	2018-07-30 10:11:23.799858816 +0200
1585d1f
@@ -81,7 +81,10 @@ DECLARE_INFO_COMMAND (describe_command,
1585d1f
       InfoCommand *cmd = named_function (line);
1585d1f
 
1585d1f
       if (!cmd)
1585d1f
-        return;
1585d1f
+        {
1585d1f
+          free (line);
1585d1f
+          return;
1585d1f
+        }
1585d1f
 
1585d1f
       window_message_in_echo_area ("%s: %s.",
1585d1f
                                    line, function_documentation (cmd));
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/makedoc.c.orig	2014-11-07 11:58:55.000000000 +0100
1585d1f
+++ texinfo-6.4/info/makedoc.c	2018-07-30 10:23:55.128644559 +0200
1585d1f
@@ -427,7 +427,11 @@ process_one_file (char *filename, FILE *
1585d1f
 
1585d1f
       offset++;
1585d1f
       if (offset >= file_size)
1585d1f
-        break;
1585d1f
+        {
1585d1f
+          free (func_name);
1585d1f
+          free (func);
1585d1f
+          break;
1585d1f
+        }
1585d1f
 
1585d1f
       doc = xmalloc (1 + (offset - point));
1585d1f
       strncpy (doc, buffer + point, offset - point);
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/nodes.c	2018-07-30 10:59:25.515087533 +0200
1585d1f
+++ texinfo-6.4/info/nodes.c	2018-07-30 11:10:47.547853493 +0200
1585d1f
@@ -305,7 +305,10 @@
1585d1f
       for (p = 0; nodedef[p] && nodedef[p] != INFO_TAGSEP; p++)
1585d1f
         ;
1585d1f
       if (nodedef[p] != INFO_TAGSEP)
1585d1f
-        continue;
1585d1f
+        {
1585d1f
+          free (entry);
1585d1f
+          continue;
1585d1f
+        }
1585d1f
 
1585d1f
       entry->nodename = xmalloc (p + 1);
1585d1f
       strncpy (entry->nodename, nodedef, p);
1585d1f
@@ -479,6 +482,7 @@
1585d1f
                 }
1585d1f
               file_buffer->subfiles = NULL;
1585d1f
               free_file_buffer_tags (file_buffer);
1585d1f
+              free (subfiles);
1585d1f
               return;
1585d1f
             }
1585d1f
 
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/session.c.orig	2018-07-30 11:11:33.997905448 +0200
1585d1f
+++ texinfo-6.4/info/session.c	2018-07-30 11:38:27.135721289 +0200
1585d1f
@@ -3554,6 +3554,7 @@ DECLARE_INFO_COMMAND (info_goto_invocati
1585d1f
   if (!line)
1585d1f
     {
1585d1f
       info_abort_key (window, 0);
1585d1f
+      free (default_program_name);
1585d1f
       return;
1585d1f
     }
1585d1f
   if (*line)
1585d1f
unchanged:
1585d1f
--- texinfo-6.4/info/variables.c.def24	2017-05-03 21:48:19.000000000 +0200
1585d1f
+++ texinfo-6.4/info/variables.c	2018-07-30 12:53:06.692694120 +0200
1585d1f
@@ -361,6 +361,7 @@ read_variable_name (char *prompt, WINDOW
1585d1f
 {
1585d1f
   char *line;
1585d1f
   REFERENCE **variables;
1585d1f
+  VARIABLE_ALIST *alist;
1585d1f
 
1585d1f
   /* Get the completion array of variable names. */
1585d1f
   variables = make_variable_completions_array ();
1585d1f
@@ -384,7 +385,9 @@ read_variable_name (char *prompt, WINDOW
1585d1f
       return NULL;
1585d1f
     }
1585d1f
 
1585d1f
-  return variable_by_name (line);
1585d1f
+  alist = variable_by_name (line);
1585d1f
+  free (line);
1585d1f
+  return alist;
1585d1f
 }
1585d1f
 
1585d1f
 /* Make an array of REFERENCE which actually contains the names of the
1585d1f
diff -u texinfo-6.4/install-info/install-info.c texinfo-6.4/install-info/install-info.c
1585d1f
--- texinfo-6.4/install-info/install-info.c	2018-07-30 13:47:00.265812976 +0200
1585d1f
+++ texinfo-6.4/install-info/install-info.c	2018-07-30 13:53:50.427431251 +0200
1585d1f
@@ -867,10 +867,16 @@
1585d1f
       char *command = concat (*compression_program, " -d", "");
1585d1f
 
1585d1f
       if (gzclose (f) < 0)
1585d1f
-        return 0;
1585d1f
+        {
1585d1f
+          free (command);
1585d1f
+          return 0;
1585d1f
+        }
1585d1f
       p = freopen (*opened_filename, FOPEN_RBIN, stdin);
1585d1f
       if (!p)
1585d1f
-        return 0;
1585d1f
+        {
1585d1f
+          free (command);
1585d1f
+          return 0;
1585d1f
+        }
1585d1f
       p = popen (command, "r");
1585d1f
       if (!p)
1585d1f
         {
1585d1f
@@ -880,6 +886,7 @@
1585d1f
         }
1585d1f
       else
1585d1f
         *is_pipe = 1;
1585d1f
+      free (command);
1585d1f
       return p;
1585d1f
     }
1585d1f
   else
1585d1f
@@ -923,7 +930,10 @@
1585d1f
                                      &pipe_p);
1585d1f
 
1585d1f
   if (!f)
1585d1f
-    return 0;
1585d1f
+    {
1585d1f
+      free (data);
1585d1f
+      return 0;
1585d1f
+    }
1585d1f
 
1585d1f
   for (;;)
1585d1f
     {
1585d1f
@@ -983,6 +993,7 @@
1585d1f
     {
1585d1f
       char *command = concat (compression_program, ">", dirfile_tmp);
1585d1f
       output = popen (command, "w");
1585d1f
+      free (command);
1585d1f
     }
1585d1f
   else
1585d1f
     output = fopen (dirfile_tmp, "w");
1585d1f
@@ -1724,6 +1735,8 @@
1585d1f
 
1585d1f
       format_entry (name, name_len, desc, desc_len, calign, align, 
1585d1f
                     maxwidth, &entry->text, &entry->text_len);
1585d1f
+      free (desc);
1585d1f
+      free (name);
1585d1f
     }
1585d1f
 }
1585d1f