From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4142 invoked by alias); 28 Apr 2005 02:00:45 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 4033 invoked from network); 28 Apr 2005 02:00:37 -0000 Received: from unknown (HELO mail.codesourcery.com) (65.74.133.9) by sourceware.org with SMTP; 28 Apr 2005 02:00:37 -0000 Received: (qmail 8076 invoked from network); 28 Apr 2005 02:00:36 -0000 Received: from localhost (HELO 81-178-253-32.dsl.pipex.com) (paul@127.0.0.1) by mail.codesourcery.com with SMTP; 28 Apr 2005 02:00:36 -0000 From: Paul Brook Organization: CodeSourcery To: gdb-patches@sources.redhat.com Subject: [patch] Crash on windows hosts Date: Thu, 28 Apr 2005 02:00:00 -0000 User-Agent: KMail/1.7.2 MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_CPEcCQUcJO8gnnE" Message-Id: <200504280300.34690.paul@codesourcery.com> X-SW-Source: 2005-04/txt/msg00380.txt.bz2 --Boundary-00=_CPEcCQUcJO8gnnE Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 262 serial_fdopen can return NULL on non-unix (ie. windows) hosts. This was causing a segfault in print_flush. The attached patch fixes this. Ok? Paul 2005-04-28 Paul Brook * exceptions.c (print_flush): Handle NULL gdb_stdout_serial. --Boundary-00=_CPEcCQUcJO8gnnE Content-Type: text/x-diff; charset="us-ascii"; name="patch.gdb_serflush" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch.gdb_serflush" Content-length: 677 Index: gdb/exceptions.c =================================================================== RCS file: /var/cvsroot/src-cvs/src/gdb/exceptions.c,v retrieving revision 1.19 diff -u -p -r1.19 exceptions.c --- gdb/exceptions.c 11 Feb 2005 18:13:49 -0000 1.19 +++ gdb/exceptions.c 28 Apr 2005 01:23:04 -0000 @@ -282,8 +282,11 @@ print_flush (void) /* 3. The system-level buffer. */ gdb_stdout_serial = serial_fdopen (1); - serial_drain_output (gdb_stdout_serial); - serial_un_fdopen (gdb_stdout_serial); + if (gdb_stdout_serial) + { + serial_drain_output (gdb_stdout_serial); + serial_un_fdopen (gdb_stdout_serial); + } annotate_error_begin (); } --Boundary-00=_CPEcCQUcJO8gnnE--