This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
On Thu, Nov 03, 2016 at 03:02:21PM +0100, Martin Liška wrote:
> > But how would you be able to find out if there isn't any return *ptr; after
> > the scope or similar (as MEM_REF)? With is_gimple_reg, they will be turned
> > into SSA form and you can easily verify (uses of ASAN_POISON are a problem
> > if they are encountered at runtime). What would you do for the
> > must_live_in_memory vars? Add some pass that detects it, handle it somehow
> > in addressable pass, handle it in SRA, ... ?
>
> If there's return of *ptr, there must be a &my_char, and it looks
> _4 = MEM[(char *)&my_char];
>
> properly identifies that my_char has address taken.
It doesn't. MEM_REF's ADDR_EXPR isn't considered to be address taking.
Jakub
- References:
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)
- Re: [PATCH, RFC] Introduce -fsanitize=use-after-scope (v2)