texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/info session.c,1.7,1.8


From: karl
Subject: texinfo/info session.c,1.7,1.8
Date: Sun, 14 Mar 2004 15:53:59 +0100

Update of /cvsroot/texinfo/texinfo/info
In directory sheep:/tmp/cvs-serv26109

Modified Files:
        session.c 
Log Message:
fix session overflows; from andreas

Index: session.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/info/session.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** session.c   14 Mar 2004 00:57:30 -0000      1.7
--- session.c   14 Mar 2004 14:53:56 -0000      1.8
***************
*** 2170,2191 ****
  
        /* Build the prompt string. */
-       if (defentry)
-         prompt = (char *)xmalloc (99 + strlen (defentry->label));
-       else
-         prompt = (char *)xmalloc (99);
- 
        if (builder == info_menu_of_node)
          {
            if (defentry)
!             sprintf (prompt, _("Menu item (%s): "), defentry->label);
            else
!             sprintf (prompt, _("Menu item: "));
          }
        else
          {
            if (defentry)
!             sprintf (prompt, _("Follow xref (%s): "), defentry->label);
            else
!             sprintf (prompt, _("Follow xref: "));
          }
  
--- 2170,2194 ----
  
        /* Build the prompt string. */
        if (builder == info_menu_of_node)
          {
            if (defentry)
!           {
!             prompt = xmalloc (strlen (defentry->label)
!                               + strlen (_("Menu item (%s): ")));
!             sprintf (prompt, _("Menu item (%s): "), defentry->label);
!           }
            else
!           prompt = xstrdup (_("Menu item: "));
          }
        else
          {
            if (defentry)
!           {
!             prompt = xmalloc (strlen (defentry->label)
!                               + strlen (_("Follow xref (%s): ")));
!             sprintf (prompt, _("Follow xref (%s): "), defentry->label);
!           }
            else
!           prompt = xstrdup (_("Follow xref: "));
          }
  
***************
*** 2770,2775 ****
        for (try_node = invocation_nodes; *try_node; try_node++)
        {
!         char nodename[200];
  
          sprintf (nodename, *try_node, program);
          /* The last resort "%s" is dangerous, so we restrict it
--- 2773,2779 ----
        for (try_node = invocation_nodes; *try_node; try_node++)
        {
!         char *nodename;
  
+         nodename = xmalloc (strlen (program) + strlen (*try_node));
          sprintf (nodename, *try_node, program);
          /* The last resort "%s" is dangerous, so we restrict it
***************
*** 2777,2780 ****
--- 2781,2785 ----
          entry = entry_in_menu (nodename, menu,
                                 strcmp (*try_node, "%s") == 0);
+         free (nodename);
          if (entry)
            break;
***************
*** 2922,2926 ****
    int menu_index = 0, menu_slots = 0;
    char *default_nodename = xstrdup (active_window->node->nodename);
!   char *prompt = xmalloc (40 + strlen (default_nodename));
  
    sprintf (prompt, _("Kill node (%s): "), default_nodename);
--- 2927,2931 ----
    int menu_index = 0, menu_slots = 0;
    char *default_nodename = xstrdup (active_window->node->nodename);
!   char *prompt = xmalloc (strlen (_("Kill node (%s): ")) + strlen 
(default_nodename));
  
    sprintf (prompt, _("Kill node (%s): "), default_nodename);
***************
*** 3670,3674 ****
    if (ask_for_string)
      {
!       prompt = (char *)xmalloc (50 + strlen (search_string));
  
        sprintf (prompt, _("%s%sfor string [%s]: "),
--- 3675,3684 ----
    if (ask_for_string)
      {
!       prompt = (char *)xmalloc (strlen (_("%s%sfor string [%s]: "))
!                               + strlen (_("Search backward"))
!                               + strlen (_("Search"))
!                               + strlen (_(" case-sensitively "))
!                               + strlen (_(" "))
!                               + strlen (search_string));
  
        sprintf (prompt, _("%s%sfor string [%s]: "),
***************
*** 4490,4494 ****
    else
      {
!       char *temp = xmalloc (1 + strlen (rep) + strlen (_("\"\" is invalid")));
        sprintf (temp, _("\"%s\" is invalid"), rep);
        terminal_ring_bell ();
--- 4500,4504 ----
    else
      {
!       char *temp = xmalloc (1 + strlen (rep) + strlen (_("\"%s\" is 
invalid")));
        sprintf (temp, _("\"%s\" is invalid"), rep);
        terminal_ring_bell ();



reply via email to

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