public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug sanitizer/109991] New: stack-use-after-scope
@ 2023-05-26 14:43 igkper at gmail dot com
  2023-05-26 14:58 ` [Bug c++/109991] stack-use-after-scope pinskia at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: igkper at gmail dot com @ 2023-05-26 14:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109991

            Bug ID: 109991
           Summary: stack-use-after-scope
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: igkper at gmail dot com
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org
  Target Milestone: ---

Hi,

I believe the below code should result in sanitizer complaining about
stack-use-after-scope, but it does not. I've noted that clang catches this but
not gcc. I've annotated where I've noted it seems to depend on whether or not
constexpr is used. See  https://godbolt.org/z/Y3YKcfGda.

using T = int;

struct Wrap
{
    T const& v;

    // Shouldn't extend lifetime of temporary
    constexpr Wrap(T const& in) : v{in} {}
};

struct BadWrapUse final
{
    T i{};

    constexpr BadWrapUse()  // issue not caught with constexpr
    // BadWrapUse()  // issue caught without constexpr
    {
        Wrap w{T{}};  // temporary T's lifetime ends after this expression
        i = w.v;      // This should lead to stack-use-after-scope.
    }
};

int main()
{
    BadWrapUse c;
}

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-26 20:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-26 14:43 [Bug sanitizer/109991] New: stack-use-after-scope igkper at gmail dot com
2023-05-26 14:58 ` [Bug c++/109991] stack-use-after-scope pinskia at gcc dot gnu.org
2023-05-26 15:00 ` pinskia at gcc dot gnu.org
2023-05-26 19:56 ` igkper at gmail dot com
2023-05-26 19:59 ` pinskia at gcc dot gnu.org
2023-05-26 20:21 ` igkper at gmail dot com

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).