stgMallocBytes: Tolerate malloc(0) returning a NULL ptr
stgMallocBytes: Tolerate malloc(0) returning a NULL ptr

This is valid behaviour for `malloc()` according to ISO C99 and POSIX,
and there's at least one operating system (AIX) which actually does return
NULL for 0-sized allocations.

The `createAdjustor()` routine is currently the only known use-site of
`stgMallocBytes` which may call `stgMallocBytes()` requesting a 0-size
allocation.

Reviewed By: bgamari, austin

Differential Revision: https://phabricator.haskell.org/D2022

shlevy/ghc,sdiehl/ghc,ezyang/ghc,mettekou/ghc,snoyberg/ghc,mettekou/ghc,ezyang/ghc,shlevy/ghc,snoyberg/ghc,sgillespie/ghc,sgillespie/ghc,snoyberg/ghc,vikraman/ghc,vTurbine/ghc,vTurbine/ghc,ezyang/ghc,mettekou/ghc,sgillespie/ghc,vikraman/ghc,sgillespie/ghc,olsner/ghc,tjakway/ghcjvm,vikraman/ghc,vikraman/ghc,mettekou/ghc,vikraman/ghc,tjakway/ghcjvm,sdiehl/ghc,sgillespie/ghc,sdiehl/ghc,snoyberg/ghc,ezyang/ghc,olsner/ghc,snoyberg/ghc,sdiehl/ghc,shlevy/ghc,sdiehl/ghc,snoyberg/ghc,mettekou/ghc,mettekou/ghc,ezyang/ghc,vTurbine/ghc,tjakway/ghcjvm,ezyang/ghc,olsner/ghc,vTurbine/ghc,olsner/ghc,ezyang/ghc,olsner/ghc,shlevy/ghc,vTurbine/ghc,olsner/ghc,sgillespie/ghc,shlevy/ghc,shlevy/ghc,vikraman/ghc,vTurbine/ghc,sdiehl/ghc,sgillespie/ghc,vikraman/ghc,tjakway/ghcjvm,tjakway/ghcjvm,tjakway/ghcjvm,tjakway/ghcjvm,vTurbine/ghc,olsner/ghc,snoyberg/ghc,shlevy/ghc,mettekou/ghc,sdiehl/ghc