]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet6/ipsec.c
xnu-517.9.5.tar.gz
[apple/xnu.git] / bsd / netinet6 / ipsec.c
index 86f4639dcc8e7c0395d5b78c939aa22e46874ea9..9a9f6ebe805573de0efde018168a8eb36fe0bf00 100644 (file)
@@ -285,6 +285,11 @@ ipsec4_getpolicybysock(m, dir, so, error)
        /* sanity check */
        if (m == NULL || so == NULL || error == NULL)
                panic("ipsec4_getpolicybysock: NULL pointer was passed.\n");
+
+       if (so->so_pcb == NULL) {
+               /* Socket may be closing or without PCB */
+               return ipsec4_getpolicybyaddr(m, dir, 0, error);
+       }
        
        switch (so->so_proto->pr_domain->dom_family) {
        case AF_INET: