summaryrefslogtreecommitdiff
path: root/rts/TopHandler.c
diff options
context:
space:
mode:
authorAdam Sandberg Ericsson <adam@sandbergericsson.se>2022-06-18 10:01:22 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-07-07 23:24:34 -0400
commit42c917df5be8d75f79a283a8ed59fbaf099bc973 (patch)
tree9efeae5f39cd9c8ff49ec68ceb3b9f5f5a6ee2cf /rts/TopHandler.c
parentfa59223b05e24d6e477e3ab0ab296e32b2b65a8b (diff)
downloadhaskell-42c917df5be8d75f79a283a8ed59fbaf099bc973.tar.gz
rts: allow NULL to be used as an invalid StgStablePtr
Diffstat (limited to 'rts/TopHandler.c')
-rw-r--r--rts/TopHandler.c4
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) {