This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 4/5] range stepping: gdbserver (x86 GNU/Linux)
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Fri, 24 May 2013 12:33:46 +0100
- Subject: Re: [PATCH 4/5] range stepping: gdbserver (x86 GNU/Linux)
- References: <20130514191026 dot 13213 dot 39574 dot stgit at brno dot lan> <20130514191054 dot 13213 dot 58686 dot stgit at brno dot lan> <87obcd48vj dot fsf at fleche dot redhat dot com> <519E5575 dot 7000701 at redhat dot com>
On 05/23/2013 06:44 PM, Pedro Alves wrote:
>> I don't know much about gdbserver, but reading this made me wonder if it
>> needs to do any kind of error-checking on its input.
>
> Yeah, it doesn't tend to do that much validation. Perhaps we should.
>
>> Like - what if the wrong format is sent,
>
> Crash in many different places most likely. When looking at
> validation, I'm more looking at making it easier for possible
> future packet extensions not break older gdbserver.
>
> In this case, I do believe this bit:
>
> + p1 = strchr (p, ':');
> + decode_address (&resume_info[i].step_range_end, p, p1 - p);
>
> should not expect the ':' to be there. An action
> without a ptid is valid. I means it applies to all and
> is handled as the default action, further below:
>
> if (p[0] == 0)
> {
> resume_info[i].thread = minus_one_ptid;
> default_action = resume_info[i];
>
> /* Note: we don't increment i here, we'll overwrite this entry
> the next time through. */
> }
> else if (p[0] == ':')
>
> I'll fix it in a follow up.
Fixed now:
http://sourceware.org/ml/gdb-patches/2013-05/msg00923.html
Thanks!
--
Pedro Alves