Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com>,
	Ulrich Weigand <uweigand@de.ibm.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 3/4] Use get_remote_packet_size in download_tracepoint
Date: Tue, 26 Jun 2018 16:53:00 -0000	[thread overview]
Message-ID: <925c0f76-f54c-0f7a-49a1-46ea365dc84a@redhat.com> (raw)
In-Reply-To: <878t72mvxo.fsf@linux.vnet.ibm.com>

On 06/25/2018 09:51 PM, Pedro Franco de Carvalho wrote:
> Ulrich Weigand <uweigand@de.ibm.com> writes:
> 
>> You know from the beginning that the agent expression will take
>> (2 * aexpr->len) bytes, so it should be OK to only check this
>> once, ahead of time.  In fact, sending a partial agent expression
>> seems to be worse than sending none, so if the agent expression
>> is too long, I think it should be just omitted (and the user
>> warned).
> 
> I don't think a partial agent expression would be sent in this case,
> since this is before the first putpkt is called in the function. But I
> can still issue the warning and ignore the condition expression instead
> of failing on the assertion. Otherwise I can check the size once and
> call a gdb_assert if its too small, like the rest of the function. Which
> is better?

I'm not sure I understand the details or the suggestions below (the
patches don't seem to be meant to apply on top of current master, but
they're using buf.data()), but I'd just like to point out that ideally
GDB should not gdb_assert or abort on user input or remote stub
limitations (small remote packet size), since neither are a GDB bug.

> 
> Would something like one of the two alternative below be ok for checking
> the size only once?
> 
> The second one looks complicated, but my goal was to avoid overflows in
> 2 * aexpr->len, since that length ultimately comes from the condition
> expression the user supplies.
> 
> I am also assuming throughout this function that size_t and
> gdb::char_vector::size_type are compatible (since buf.size () returns
> the latter and xsnprintf takes a size_t). Is this ok?

It is.

Thanks,
Pedro Alves


  parent reply	other threads:[~2018-06-26 16:53 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-20 21:09 [PATCH 0/4] Allow larger sizes for tracepoint register masks Pedro Franco de Carvalho
2018-06-20 21:09 ` [PATCH 3/4] Use get_remote_packet_size in download_tracepoint Pedro Franco de Carvalho
2018-06-25 10:37   ` Ulrich Weigand
2018-06-25 20:51     ` Pedro Franco de Carvalho
2018-06-26 10:52       ` Ulrich Weigand
2018-06-26 16:53       ` Pedro Alves [this message]
2018-06-26 18:49         ` Pedro Franco de Carvalho
2018-06-20 21:09 ` [PATCH 4/4] Variable size for regs mask in collection list Pedro Franco de Carvalho
2018-06-25 10:38   ` Ulrich Weigand
2018-06-26 16:58   ` Pedro Alves
2018-06-26 18:52     ` Pedro Franco de Carvalho
2018-06-20 21:09 ` [PATCH 1/4] Fix indentation in remote_target::download_tracepoint Pedro Franco de Carvalho
2018-06-25 10:32   ` Ulrich Weigand
2018-06-20 21:10 ` [PATCH 2/4] Remove trailing '-' from the last QTDP action packet Pedro Franco de Carvalho
2018-06-25 10:33   ` Ulrich Weigand

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=925c0f76-f54c-0f7a-49a1-46ea365dc84a@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=pedromfc@linux.vnet.ibm.com \
    --cc=uweigand@de.ibm.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