texinfo-commits
[Top][All Lists]
Advanced

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

[6178] info avoid fixed-length buffer


From: Gavin D. Smith
Subject: [6178] info avoid fixed-length buffer
Date: Fri, 06 Mar 2015 08:44:48 +0000

Revision: 6178
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6178
Author:   gavin
Date:     2015-03-06 08:44:46 +0000 (Fri, 06 Mar 2015)
Log Message:
-----------
info avoid fixed-length buffer

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/info/man.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2015-03-04 12:12:18 UTC (rev 6177)
+++ trunk/ChangeLog     2015-03-06 08:44:46 UTC (rev 6178)
@@ -1,3 +1,8 @@
+2015-03-06  Gavin Smith  <address@hidden>
+
+       * info/man.c (get_manpage_node): Avoid using fixed-size buffer 
+       to construct string.  Report from James Chang.
+
 2015-03-04  Gavin Smith  <address@hidden>
 
        * info/info-utils.c (parse_top_node_line): Check for labels 

Modified: trunk/info/man.c
===================================================================
--- trunk/info/man.c    2015-03-04 12:12:18 UTC (rev 6177)
+++ trunk/info/man.c    2015-03-06 08:44:46 UTC (rev 6178)
@@ -90,7 +90,6 @@
   /* Node wasn't found, or its contents were freed since last time. */
   if (!node->contents)
     {
-      char header[1024];
       int hlen, plen;
 
       page = get_manpage_contents (pagename);
@@ -100,7 +99,8 @@
 
       if (!preprocess_nodes_p)
         {
-          sprintf (header, "%s %s,  %s %s,  %s (dir)\n\n",
+          char *header;
+          asprintf (&header, "%s %s,  %s %s,  %s (dir)\n\n",
                    INFO_FILE_LABEL, MANPAGE_FILE_BUFFER_NAME,
                    INFO_NODE_LABEL, pagename,
                    INFO_UP_LABEL);
@@ -113,6 +113,7 @@
           /* Set nodelen. */
           node->nodelen = hlen + plen;
 
+          free (header);
           /* FIXME: Don't allocate page just to immediately free it. */
           free (page);
         }




reply via email to

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