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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
With -fno-exceptions, there is a call to new still around that will either
throw or return null.


  _25 = operator new [] (18446744073709551615);


since GCC has no context of what the value of l is, there is some jump
threading that goes on and then you get undefined code being injected into the
IR.

This could be say a GCC bug but the APIs are not obvious if solve could be
passed a negative number then it becomes undefined.

I say add an assert at the beginging of solve that l is non-negative to fix
this warning and to fix a possible security issue.

Reply via email to