Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew STUBBS <andrew.stubbs@st.com>
To: gdb-patches@sources.redhat.com
Subject: [commit] Fix TUI null pointer dereference
Date: Tue, 01 Nov 2005 16:58:00 -0000	[thread overview]
Message-ID: <43679E26.4080001@st.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

Sorry I have not sent this before. I assumed the [commit] messages were 
just from people who had not previously posted a [patch].

The committed patch is attached.

Andrew Stubbs

[-- Attachment #2: tui-NULL-pointer.patch --]
[-- Type: text/plain, Size: 1762 bytes --]

2005-10-31  Andrew Stubbs  <andrew.stubbs@st.com>

	* tui/tui-command.c (tui_dispatch_ctrl_char): Test output of
	getenv() before using it.


Index: src/gdb/tui/tui-command.c
===================================================================
--- src.orig/gdb/tui/tui-command.c	2005-10-24 13:58:38.000000000 +0100
+++ src/gdb/tui/tui-command.c	2005-10-24 18:56:04.000000000 +0100
@@ -68,33 +68,36 @@ tui_dispatch_ctrl_char (unsigned int ch)
          ** Seems like a bug in the curses library?
        */
       term = (char *) getenv ("TERM");
-      for (i = 0; (term && term[i]); i++)
-	term[i] = toupper (term[i]);
-      if ((strcmp (term, "XTERM") == 0) && key_is_start_sequence (ch))
+      if (term)
 	{
-	  unsigned int page_ch = 0;
-	  unsigned int tmp_char;
-
-	  tmp_char = 0;
-	  while (!key_is_end_sequence (tmp_char))
+	  for (i = 0; term[i]; i++)
+	    term[i] = toupper (term[i]);
+	  if ((strcmp (term, "XTERM") == 0) && key_is_start_sequence (ch))
 	    {
-	      tmp_char = (int) wgetch (w);
-	      if (tmp_char == ERR)
-		{
-		  return ch;
-		}
-	      if (!tmp_char)
-		break;
-	      if (tmp_char == 53)
-		page_ch = KEY_PPAGE;
-	      else if (tmp_char == 54)
-		page_ch = KEY_NPAGE;
-	      else
+	      unsigned int page_ch = 0;
+	      unsigned int tmp_char;
+
+	      tmp_char = 0;
+	      while (!key_is_end_sequence (tmp_char))
 		{
-		  return 0;
+		  tmp_char = (int) wgetch (w);
+		  if (tmp_char == ERR)
+		    {
+		      return ch;
+		    }
+		  if (!tmp_char)
+		    break;
+		  if (tmp_char == 53)
+		    page_ch = KEY_PPAGE;
+		  else if (tmp_char == 54)
+		    page_ch = KEY_NPAGE;
+		  else
+		    {
+		      return 0;
+		    }
 		}
+	      ch_copy = page_ch;
 	    }
-	  ch_copy = page_ch;
 	}
 
       switch (ch_copy)

             reply	other threads:[~2005-11-01 16:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-01 16:58 Andrew STUBBS [this message]
2005-11-01 17:01 ` Daniel Jacobowitz
2005-11-01 17:06   ` Andrew STUBBS

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43679E26.4080001@st.com \
    --to=andrew.stubbs@st.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox