Blame SOURCES/texinfo-6.5-covscan-fixes.patch

ab798a
diff -up texinfo-6.5/contrib/fix-info-dir.orig texinfo-6.5/contrib/fix-info-dir
ab798a
--- texinfo-6.5/contrib/fix-info-dir.orig	2018-10-04 11:34:13.664483757 +0200
ab798a
+++ texinfo-6.5/contrib/fix-info-dir	2018-10-04 11:34:13.666483758 +0200
ab798a
@@ -28,7 +28,6 @@ if test -z "$LINENO"; then
ab798a
 fi
ab798a
 
ab798a
 MENU_BEGIN='^\*\([ 	]\)\{1,\}Menu:'
ab798a
-MENU_ITEM='^\* ([^ 	]).*:([ 	])+\('
ab798a
 MENU_FILTER1='s/^\*\([ 	]\)\{1,\}/* /'
ab798a
 MENU_FILTER2='s/\([ 	]\)\{1,\}$//g'
ab798a
 
ab798a
diff -up texinfo-6.5/info/echo-area.c.orig texinfo-6.5/info/echo-area.c
ab798a
--- texinfo-6.5/info/echo-area.c.orig	2017-02-04 02:02:43.000000000 +0100
ab798a
+++ texinfo-6.5/info/echo-area.c	2018-10-04 11:34:13.667483758 +0200
ab798a
@@ -979,6 +979,7 @@ info_read_completing_internal (const cha
ab798a
                 inform_in_echo_area (_("No completions"));
ab798a
               else
ab798a
                 inform_in_echo_area (_("Not complete"));
ab798a
+              free (line);
ab798a
               continue;
ab798a
             }
ab798a
         }
ab798a
diff -up texinfo-6.5/info/info.c.orig texinfo-6.5/info/info.c
ab798a
--- texinfo-6.5/info/info.c.orig	2017-07-09 17:12:57.000000000 +0200
ab798a
+++ texinfo-6.5/info/info.c	2018-10-04 11:34:13.667483758 +0200
ab798a
@@ -295,6 +295,7 @@ get_initial_file (int *argc, char ***arg
ab798a
              ref_index, ref_list, ref_slots, 2);
ab798a
 
ab798a
           initial_file = MANPAGE_FILE_BUFFER_NAME;
ab798a
+          free (man_node);
ab798a
           return;
ab798a
         }
ab798a
     }
ab798a
diff -up texinfo-6.5/info/infomap.c.orig texinfo-6.5/info/infomap.c
ab798a
--- texinfo-6.5/info/infomap.c.orig	2017-05-15 18:35:24.000000000 +0200
ab798a
+++ texinfo-6.5/info/infomap.c	2018-10-04 11:34:13.667483758 +0200
ab798a
@@ -603,6 +603,7 @@ fetch_user_maps (char *init_file)
ab798a
   compile (inf, filename, &sup_info, &sup_ea);
ab798a
 
ab798a
   free (filename);
ab798a
+  fclose (inf);
ab798a
   return 1;
ab798a
 }
ab798a
 
ab798a
diff -up texinfo-6.5/info/makedoc.c.orig texinfo-6.5/info/makedoc.c
ab798a
--- texinfo-6.5/info/makedoc.c.orig	2014-11-07 11:58:55.000000000 +0100
ab798a
+++ texinfo-6.5/info/makedoc.c	2018-10-04 11:34:13.667483758 +0200
ab798a
@@ -427,7 +427,11 @@ process_one_file (char *filename, FILE *
ab798a
 
ab798a
       offset++;
ab798a
       if (offset >= file_size)
ab798a
-        break;
ab798a
+        {
ab798a
+          free (func_name);
ab798a
+          free (func);
ab798a
+          break;
ab798a
+        }
ab798a
 
ab798a
       doc = xmalloc (1 + (offset - point));
ab798a
       strncpy (doc, buffer + point, offset - point);
ab798a
diff -up texinfo-6.5/info/m-x.c.orig texinfo-6.5/info/m-x.c
ab798a
--- texinfo-6.5/info/m-x.c.orig	2017-05-14 12:55:17.000000000 +0200
ab798a
+++ texinfo-6.5/info/m-x.c	2018-10-04 11:34:13.667483758 +0200
ab798a
@@ -81,7 +81,10 @@ DECLARE_INFO_COMMAND (describe_command,
ab798a
       InfoCommand *cmd = named_function (line);
ab798a
 
ab798a
       if (!cmd)
ab798a
-        return;
ab798a
+        {
ab798a
+          free (line);
ab798a
+          return;
ab798a
+        }
ab798a
 
ab798a
       window_message_in_echo_area ("%s: %s.",
ab798a
                                    line, function_documentation (cmd));
ab798a
diff -up texinfo-6.5/info/nodes.c.orig texinfo-6.5/info/nodes.c
ab798a
--- texinfo-6.5/info/nodes.c.orig	2017-07-09 20:51:40.000000000 +0200
ab798a
+++ texinfo-6.5/info/nodes.c	2018-10-04 11:34:13.668483758 +0200
ab798a
@@ -306,7 +306,10 @@ get_nodes_of_tags_table (FILE_BUFFER *fi
ab798a
       for (p = 0; nodedef[p] && nodedef[p] != INFO_TAGSEP; p++)
ab798a
         ;
ab798a
       if (nodedef[p] != INFO_TAGSEP)
ab798a
-        continue;
ab798a
+        {
ab798a
+          free (entry);
ab798a
+          continue;
ab798a
+        }
ab798a
 
ab798a
       entry->nodename = xmalloc (p + 1);
ab798a
       strncpy (entry->nodename, nodedef, p);
ab798a
@@ -480,6 +483,7 @@ get_tags_of_indirect_tags_table (FILE_BU
ab798a
                 }
ab798a
               file_buffer->subfiles = NULL;
ab798a
               free_file_buffer_tags (file_buffer);
ab798a
+              free (subfiles);
ab798a
               return;
ab798a
             }
ab798a
 
ab798a
diff -up texinfo-6.5/info/session.c.orig texinfo-6.5/info/session.c
ab798a
--- texinfo-6.5/info/session.c.orig	2017-07-06 20:49:26.000000000 +0200
ab798a
+++ texinfo-6.5/info/session.c	2018-10-04 11:34:13.668483758 +0200
ab798a
@@ -3554,6 +3554,7 @@ DECLARE_INFO_COMMAND (info_goto_invocati
ab798a
   if (!line)
ab798a
     {
ab798a
       info_abort_key (window, 0);
ab798a
+      free (default_program_name);
ab798a
       return;
ab798a
     }
ab798a
   if (*line)
ab798a
diff -up texinfo-6.5/info/variables.c.orig texinfo-6.5/info/variables.c
ab798a
--- texinfo-6.5/info/variables.c.orig	2017-05-03 21:48:19.000000000 +0200
ab798a
+++ texinfo-6.5/info/variables.c	2018-10-04 11:34:13.669483758 +0200
ab798a
@@ -361,6 +361,7 @@ read_variable_name (char *prompt, WINDOW
ab798a
 {
ab798a
   char *line;
ab798a
   REFERENCE **variables;
ab798a
+  VARIABLE_ALIST *alist;
ab798a
 
ab798a
   /* Get the completion array of variable names. */
ab798a
   variables = make_variable_completions_array ();
ab798a
@@ -384,7 +385,9 @@ read_variable_name (char *prompt, WINDOW
ab798a
       return NULL;
ab798a
     }
ab798a
 
ab798a
-  return variable_by_name (line);
ab798a
+  alist = variable_by_name (line);
ab798a
+  free (line);
ab798a
+  return alist;
ab798a
 }
ab798a
 
ab798a
 /* Make an array of REFERENCE which actually contains the names of the
ab798a
diff -up texinfo-6.5/install-info/install-info.c.orig texinfo-6.5/install-info/install-info.c
ab798a
--- texinfo-6.5/install-info/install-info.c.orig	2018-10-04 11:34:13.661483757 +0200
ab798a
+++ texinfo-6.5/install-info/install-info.c	2018-10-04 11:34:13.669483758 +0200
ab798a
@@ -867,10 +867,16 @@ determine_file_type:
ab798a
       char *command = concat (*compression_program, " -d", "");
ab798a
 
ab798a
       if (gzclose (f) < 0)
ab798a
-        return 0;
ab798a
+        {
ab798a
+          free (command);
ab798a
+          return 0;
ab798a
+        }
ab798a
       p = freopen (*opened_filename, FOPEN_RBIN, stdin);
ab798a
       if (!p)
ab798a
-        return 0;
ab798a
+        {
ab798a
+          free (command);
ab798a
+          return 0;
ab798a
+        }
ab798a
       p = popen (command, "r");
ab798a
       if (!p)
ab798a
         {
ab798a
@@ -880,6 +886,7 @@ determine_file_type:
ab798a
         }
ab798a
       else
ab798a
         *is_pipe = 1;
ab798a
+      free (command);
ab798a
       return p;
ab798a
     }
ab798a
   else
ab798a
@@ -923,7 +930,10 @@ readfile (char *filename, int *sizep,
ab798a
                                      &pipe_p);
ab798a
 
ab798a
   if (!f)
ab798a
-    return 0;
ab798a
+    {
ab798a
+      free (data);
ab798a
+      return 0;
ab798a
+    }
ab798a
 
ab798a
   for (;;)
ab798a
     {
ab798a
@@ -983,6 +993,7 @@ output_dirfile (char *dirfile, int dir_n
ab798a
     {
ab798a
       char *command = concat (compression_program, ">", dirfile_tmp);
ab798a
       output = popen (command, "w");
ab798a
+      free (command);
ab798a
     }
ab798a
   else
ab798a
     output = fopen (dirfile_tmp, "w");
ab798a
@@ -1724,6 +1735,8 @@ reformat_new_entries (struct spec_entry
ab798a
 
ab798a
       format_entry (name, name_len, desc, desc_len, calign, align, 
ab798a
                     maxwidth, &entry->text, &entry->text_len);
ab798a
+      free (desc);
ab798a
+      free (name);
ab798a
     }
ab798a
 }
ab798a