diff options
author | Adam Sandberg Ericsson <adam@sandbergericsson.se> | 2022-06-18 10:01:22 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-07-07 23:24:34 -0400 |
commit | 42c917df5be8d75f79a283a8ed59fbaf099bc973 (patch) | |
tree | 9efeae5f39cd9c8ff49ec68ceb3b9f5f5a6ee2cf /rts/TopHandler.c | |
parent | fa59223b05e24d6e477e3ab0ab296e32b2b65a8b (diff) | |
download | haskell-42c917df5be8d75f79a283a8ed59fbaf099bc973.tar.gz |
rts: allow NULL to be used as an invalid StgStablePtr
Diffstat (limited to 'rts/TopHandler.c')
-rw-r--r-- | rts/TopHandler.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/TopHandler.c b/rts/TopHandler.c index d5175015e7..f3ab55c85e 100644 --- a/rts/TopHandler.c +++ b/rts/TopHandler.c @@ -28,6 +28,10 @@ StgTSO *getTopHandlerThread(void) { ACQUIRE_LOCK(&m); StgWeak *weak = (StgWeak*)deRefStablePtr(topHandlerPtr); RELEASE_LOCK(&m); + if (weak == NULL) { + // topHandlerPtr was never initialised + return NULL; + } const StgInfoTable *info = weak->header.info; load_load_barrier(); if (info == &stg_WEAK_info) { |