From a44c6692936195ab08293bc5beb9ac50ad76ef8d Mon Sep 17 00:00:00 2001
From: David Gauchard <gauchard@laas.fr>
Date: Mon, 2 Jul 2018 22:53:13 +0200
Subject: [PATCH] fix scheduled interrupt #4609 by @shimarin

---
 cores/esp8266/core_esp8266_wiring_digital.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cores/esp8266/core_esp8266_wiring_digital.c b/cores/esp8266/core_esp8266_wiring_digital.c
index 68b8055f00..12834a18b6 100644
--- a/cores/esp8266/core_esp8266_wiring_digital.c
+++ b/cores/esp8266/core_esp8266_wiring_digital.c
@@ -147,7 +147,7 @@ void ICACHE_RAM_ATTR interrupt_handler(void *arg) {
       // we disable them before we call the client ISR
       uint32_t savedPS = xt_rsil(15); // stop other interrupts
       ArgStructure* localArg = (ArgStructure*)handler->arg;
-      if (localArg->interruptInfo)
+      if (localArg && localArg->interruptInfo)
       {
          localArg->interruptInfo->pin = i;
          localArg->interruptInfo->value = __digitalRead(i);