From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8382 invoked by alias); 1 Jan 2010 08:41:13 -0000 Received: (qmail 8363 invoked by uid 22791); 1 Jan 2010 08:41:12 -0000 X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=AWL,BAYES_00,FH_DATE_PAST_20XX,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 01 Jan 2010 08:41:08 +0000 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o018eWE1028543 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 1 Jan 2010 03:40:42 -0500 Received: from host0.dyn.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx04.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o018eUKn011055 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 1 Jan 2010 03:40:32 -0500 Received: from host0.dyn.jankratochvil.net (localhost [127.0.0.1]) by host0.dyn.jankratochvil.net (8.14.3/8.14.3) with ESMTP id o018eUXw030023; Fri, 1 Jan 2010 09:40:30 +0100 Received: (from jkratoch@localhost) by host0.dyn.jankratochvil.net (8.14.3/8.14.3/Submit) id o018eTuA030015; Fri, 1 Jan 2010 09:40:29 +0100 Date: Fri, 01 Jan 2010 08:41:00 -0000 From: Jan Kratochvil To: Nick Roberts Cc: Joel Brobecker , gdb@sourceware.org, gdb-patches@sourceware.org Subject: [patch] Fix crash on CLI indented comments [Re: [Bug:cli] Loading user-defined function generates an internal error] Message-ID: <20100101084028.GA29969@host0.dyn.jankratochvil.net> References: <19258.59036.731093.439412@totara.tehura.co.nz> <20091230054617.GA548@adacore.com> <19259.54163.166299.854635@totara.tehura.co.nz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <19259.54163.166299.854635@totara.tehura.co.nz> User-Agent: Mutt/1.5.20 (2009-08-17) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-01/txt/msg00007.txt.bz2 On Wed, 30 Dec 2009 23:26:27 +0100, Nick Roberts wrote: > Heres a simpler user defined function that gives a segmentation fault. It > appears that GDB can no longer handle indented comments. > > define my_fun > #indented comment > end (*command)->line = savestring (p, p1 - p); #1 0x0000000000487405 in savestring (ptr=0x1d5dd31 "", size=18446744073709551615) at utils.c:1377 (gdb) p/x size $1 = 0xffffffffffffffff (gdb) p p $2 = 0x1d5dd31 "" (gdb) p p1 $3 = 0x1d5dd30 " " OK to check-in? Probably [obv]. Thanks, Jan 2010-01-01 Jan Kratochvil * cli/cli-script.c (process_next_line): Check P2 overrun. --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -893,7 +893,7 @@ process_next_line (char *p, struct command_line **command, int parse_commands) p2 = p; /* Strip leading whitespace. */ - while (*p2 == ' ' || *p2 == '\t') + while (p2 != p1 && (*p2 == ' ' || *p2 == '\t')) p2++; /* 'end' is always recognized, regardless of parse_commands value.