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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot 
gnu.org

--- Comment #13 from Martin Sebor <msebor at gcc dot gnu.org> ---
The sprintf pass doesn't consider NaNs and infinities.  The output for the
-fdump-tree-printf-return-value option shows:

;; Function main (main, funcdef_no=0, decl_uid=1898, cgraph_uid=1,
symbol_order=1) (executed once)

__builtin_snprintf: objsize = 220, fmtstr = "%f"
  Directive 1 at offset 0: "%f"
    Result: 8, 8, 317, 322 (8, 8, 317, 322)
  Directive 2 at offset 2: "", length = 1
  Setting potentially out-of-bounds return value range [8, 322].

The range should be [3, 322].  Let me handle it.

Reply via email to