public inbox for rda@sourceware.org
 help / color / mirror / Atom feed
From: Kevin Buettner <kevinb@redhat.com>
To: rda@sources.redhat.com
Subject: Re: [PATCH] thread-db.c: Avoid segfault by making sure that ``reg'' is initialized
Date: Mon, 13 Dec 2004 21:25:00 -0000	[thread overview]
Message-ID: <20041213142538.7dc600c7@ironwood.lan> (raw)
In-Reply-To: <20041118180240.69493a51@saguaro>

On Thu, 18 Nov 2004 18:02:40 -0700
Kevin Buettner <kevinb@redhat.com> wrote:

> [Hopefully, this'll end up in the right list this time...]
> 
> I've just committed the patch below.  As indicated by the subject line, this
> patch prevents a segfault when thread_db_set_thread_reg() returns an
> uninitialized ``reg''.  (This was happening on Fedora Core 2 due to lack of
> xregset support.)
> 
> 	* thread-db.c (thread_db_set_thread_reg): Don't allow a successful
> 	return without first initializing ``reg''.

This patch was wrong - I didn't look closely enough at the result of
applying a patch from a branch.  Hopefully, this time I've applied the
correct fix...

	* thread-db.c (thread_db_get_thread_reg): Don't allow a successful
	return without first initializing ``reg''.
	(thread_db_set_thread_reg): Remove code intended to for
	thread_db_get_thread_reg().

Index: thread-db.c
===================================================================
RCS file: /cvs/src/src/rda/unix/thread-db.c,v
retrieving revision 1.10
diff -u -p -r1.10 thread-db.c
--- thread-db.c	18 Nov 2004 21:40:02 -0000	1.10
+++ thread-db.c	13 Dec 2004 21:22:00 -0000
@@ -1980,6 +1980,10 @@ thread_db_get_thread_reg (struct gdbserv
   GREGSET_T gregset;
   td_err_e ret;
 
+  /* Initialize reg to 0 in the event that we return early due to a
+     register being unsupported.  */
+  gdbserv_ulonglong_to_reg (serv, 0LL, reg);
+
   if (thread == NULL)
     thread = process->event_thread;	/* Default to the event thread. */
 
@@ -2117,10 +2121,6 @@ thread_db_set_thread_reg (struct gdbserv
   GREGSET_T gregset;
   td_err_e ret;
 
-  /* Initialize reg to 0 in the event that we return early due to a
-     register being unsupported.  */
-  gdbserv_ulonglong_to_reg (serv, 0LL, reg);
-
   if (thread == NULL)
     thread = process->event_thread;	/* Default to the event thread. */
 

  reply	other threads:[~2004-12-13 21:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-19  1:02 Kevin Buettner
2004-12-13 21:25 ` Kevin Buettner [this message]
2004-12-14 18:16   ` Jim Blandy

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=20041213142538.7dc600c7@ironwood.lan \
    --to=kevinb@redhat.com \
    --cc=rda@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).