Conflicts:
[NextIRCd.git] / src / IOHandler / IOSockets.c
index 63a4115ebb49843dc307ecc817b8e033806a9b8e..a98dc5a930b94a9c4bba6701922d6124ce970cd1 100644 (file)
@@ -801,6 +801,11 @@ void iosocket_close(struct IOSocket *iosocket) {
 }
 
 struct IODNSAddress *iosocket_get_remote_addr(struct IOSocket *iosocket) {
+       struct _IOSocket *iosock = iosocket->iosocket;
+       if(iosock == NULL) {
+               iolog_trigger(IOLOG_WARNING, "called iosocket_get_remote_addr for destroyed IOSocket in %s:%d", __FILE__, __LINE__);
+               return NULL;
+       }
        if(iosock->socket_flags & IOSOCKETFLAG_PENDING_DESTDNS)
                return NULL;
        if(!iosock->dest.addr.addresslen)
@@ -809,6 +814,11 @@ struct IODNSAddress *iosocket_get_remote_addr(struct IOSocket *iosocket) {
 }
 
 struct IODNSAddress *iosocket_get_local_addr(struct IOSocket *iosocket) {
+       struct _IOSocket *iosock = iosocket->iosocket;
+       if(iosock == NULL) {
+               iolog_trigger(IOLOG_WARNING, "called iosocket_get_local_addr for destroyed IOSocket in %s:%d", __FILE__, __LINE__);
+               return NULL;
+       }
        if(iosock->socket_flags & IOSOCKETFLAG_PENDING_BINDDNS)
                return NULL;
        if(!iosock->bind.addr.addresslen)