[Bug sanitizer/55485] probable false positive on __builtin_setjmp/__builtin_longjmp

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Nov 27 16:13:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55485

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-11-27
          Component|ada                         |sanitizer
                 CC|                            |dodji at gcc dot gnu.org,
                   |                            |dvyukov at gcc dot gnu.org,
                   |                            |ebotcazou at gcc dot
                   |                            |gnu.org, jakub at gcc dot
                   |                            |gnu.org, kcc at gcc dot
                   |                            |gnu.org
     Ever Confirmed|0                           |1
            Summary|stack-buffer-overflow in    |probable false positive on
                   |sem_ch8.adb                 |__builtin_setjmp/__builtin_
                   |                            |longjmp

--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-11-27 16:12:57 UTC ---
It looks rather like AddressSanitizer is confused by the __builtin_setjmp based
exception handling scheme, as hinted at by:

Address 0x7fff47f1b588 is located at offset 72 in frame
<ada__exceptions__raise_current_excep> of T0's stack:
  This frame has 1 object(s):
    [32, 40) 'id'
HINT: this may be a false positive if your program uses some custom stack
unwind mechanism or swapcontext
      (longjmp and C++ exceptions *are* supported)

So, does AddressSanitizer support __builtin_setjmp/__builtin_longjmp?



More information about the Gcc-bugs mailing list