[GHC] #12636: ProfHeap's printf modifiers are incorrect

GHC ghc-devs at haskell.org
Sat Feb 11 10:21:50 UTC 2017


#12636: ProfHeap's printf modifiers are incorrect
-------------------------------------+-------------------------------------
        Reporter:  Phyx-             |                Owner:  bollu
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  8.0.1
      Resolution:                    |             Keywords:  newcomer
Operating System:  Windows           |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 I actually question the use of `ssize_t` at all for these values. I think
 the calculations violate the expected value ranges of `ssize_t` namely
 with

 {{{
 censuses[t].void_total   += size;
 censuses[era].void_total -= size;
 }}}

 So I think the types in `_counter` are wrong and have the potential to do
 an unsigned underflow as `ssize_t` is only guaranteed to be able to store
 values between `[-1, {SSIZE_MAX}]`[1]

 [1]http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12636#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list