public inbox for libstdc++@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely@redhat.com>
To: cauldwell.thomas@gmail.com
Cc: "libstdc++" <libstdc++@gcc.gnu.org>
Subject: Re: string::iterator should have more error checking
Date: Fri, 24 Jun 2022 10:35:03 +0100	[thread overview]
Message-ID: <CACb0b4nXa0w1dBBjV9zJ6k+APGHEXXNNGdSz5dnRgDAY3P_FCw@mail.gmail.com> (raw)
In-Reply-To: <CALtZhhPYg5pLWusCk8RKOVqktFNnt=T4N55yabi2W4tKFVH8YA@mail.gmail.com>

On Fri, 24 Jun 2022 at 10:06, Frederick Virchanza Gotham
<cauldwell.thomas@gmail.com> wrote:
>
> On Thu, Jun 23, 2022 at 11:36 PM Jonathan Wakely <jwakely@redhat.com> wrote:
>
> > Yes it does:
> > https://godbolt.org/z/hYhcfjTWY
>
>
> You're right, that does work.
>
> I've put together another little sample program. The dereferencing of
> an "end()" iterator is flagged by __gnu_debug::_Safe_iterator, however
> the invalid memory access on the last line -- strangely -- is not
> noticed by "-fsanitize"
>
>         https://godbolt.org/z/4nzjGG8o3

That's expected. The contents of the string_view are a string literal,
which is in the program image, not on the heap. AddressSanitizer
doesn't check access to such memory.
The byte after the string literal "brush" is uninitialized, but it
does exist in a valid memory page.

And it's not detected by Debug Mode because string_view iterators are
just pointers.


  reply	other threads:[~2022-06-24  9:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-23 21:05 Frederick Virchanza Gotham
2022-06-23 21:26 ` Jonathan Wakely
2022-06-23 22:01   ` Frederick Virchanza Gotham
2022-06-23 22:35     ` Jonathan Wakely
2022-06-24  9:06       ` Frederick Virchanza Gotham
2022-06-24  9:35         ` Jonathan Wakely [this message]
2022-06-24 10:10           ` Frederick Virchanza Gotham
2022-06-24 10:28             ` Jonathan Wakely
2022-06-24 11:14               ` Frederick Virchanza Gotham

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=CACb0b4nXa0w1dBBjV9zJ6k+APGHEXXNNGdSz5dnRgDAY3P_FCw@mail.gmail.com \
    --to=jwakely@redhat.com \
    --cc=cauldwell.thomas@gmail.com \
    --cc=libstdc++@gcc.gnu.org \
    /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).