]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/xfrm/xfrm_policy.c
xfrm: check bundle policy existance before dereferencing it
[net-next-2.6.git] / net / xfrm / xfrm_policy.c
index 4bf27d90133336a1f862e6c7b28e4939397284c5..af1c173be4ad88906d55d7efa24fb47fcd0cf19d 100644 (file)
@@ -2300,7 +2300,8 @@ int xfrm_bundle_ok(struct xfrm_policy *pol, struct xfrm_dst *first,
                        return 0;
                if (xdst->xfrm_genid != dst->xfrm->genid)
                        return 0;
-               if (xdst->policy_genid != atomic_read(&xdst->pols[0]->genid))
+               if (xdst->num_pols > 0 &&
+                   xdst->policy_genid != atomic_read(&xdst->pols[0]->genid))
                        return 0;
 
                if (strict && fl &&