texinfo-commits
[Top][All Lists]
Advanced

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

[5949] fix some info memory leaks


From: Gavin D. Smith
Subject: [5949] fix some info memory leaks
Date: Wed, 03 Dec 2014 17:53:47 +0000

Revision: 5949
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5949
Author:   gavin
Date:     2014-12-03 17:53:45 +0000 (Wed, 03 Dec 2014)
Log Message:
-----------
fix some info memory leaks

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/info/dir.c
    trunk/info/footnotes.c
    trunk/info/session.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2014-12-03 16:26:46 UTC (rev 5948)
+++ trunk/ChangeLog     2014-12-03 17:53:45 UTC (rev 5949)
@@ -1,3 +1,13 @@
+2014-12-03  Gavin Smith  <address@hidden>
+
+       * info/session.c (show_error_node): Call 
+       window_message_in_echo_area to display message so that 
+       echo_area_node will be set for free_echo_area.
+       * info/dir.c (dir_entry_of_infodir): Free dir node if no entry 
+       found.
+       * info/footnotes.c (make_footnotes_node): Supply a terminating 
+       null instead of relying on their being one in the source node.
+
 2014-11-28  Karl Berry  <address@hidden>
 
        * doc/texinfo.tex (\sub, \sup, \mathopsup): new commands @sub and @sup.

Modified: trunk/info/dir.c
===================================================================
--- trunk/info/dir.c    2014-12-03 16:26:46 UTC (rev 5948)
+++ trunk/info/dir.c    2014-12-03 17:53:45 UTC (rev 5949)
@@ -292,7 +292,10 @@
       free (dir_fullpath);
       entry = info_get_menu_entry_by_label (dir_node, label, 1);
       if (!entry)
-        continue;
+        {
+          free_history_node (dir_node);
+          continue;
+        }
 
       entry = info_copy_reference (entry);
       entry_fullpath = info_add_extension (searchdir, entry->filename, &dummy);

Modified: trunk/info/footnotes.c
===================================================================
--- trunk/info/footnotes.c      2014-12-03 16:26:46 UTC (rev 5948)
+++ trunk/info/footnotes.c      2014-12-03 17:53:45 UTC (rev 5949)
@@ -137,7 +137,8 @@
     result->contents = xmalloc (1 + result->nodelen);
     sprintf (result->contents, "%s", header);
     memcpy (result->contents + strlen (header),
-            fn_node->contents + text_start, fn_node->nodelen - text_start + 1);
+            fn_node->contents + text_start, fn_node->nodelen - text_start);
+    result->contents[strlen (header) + fn_node->nodelen - text_start] = '\0';
 
    /* Copy and adjust references that appear in footnotes section. */
     {

Modified: trunk/info/session.c
===================================================================
--- trunk/info/session.c        2014-12-03 16:26:46 UTC (rev 5948)
+++ trunk/info/session.c        2014-12-03 17:53:45 UTC (rev 5949)
@@ -845,12 +845,7 @@
     }
   else if (!echo_area_is_active)
     {
-      NODE *error_node;
-
-      error_node = format_message_node ("%s", error);
-      free_echo_area ();
-      window_set_node_of_window (the_echo_area, error_node);
-      display_update_one_window (the_echo_area);
+      window_message_in_echo_area ("%s", error);
     }
   else
     inform_in_echo_area (error);




reply via email to

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