Page MenuHomeFreeBSD

D44079.diff
No OneTemporary

D44079.diff

diff --git a/sys/netipsec/xform_esp.c b/sys/netipsec/xform_esp.c
--- a/sys/netipsec/xform_esp.c
+++ b/sys/netipsec/xform_esp.c
@@ -508,6 +508,13 @@
xd = crp->crp_opaque;
CURVNET_SET(xd->vnet);
sav = xd->sav;
+ if (sav->state >= SADB_SASTATE_DEAD) {
+ /* saidx is freed */
+ DPRINTF(("%s: dead SA %p spi %#x\n", __func__, sav, sav->spi));
+ ESPSTAT_INC(esps_notdb);
+ error = ESRCH;
+ goto bad;
+ }
skip = xd->skip;
protoff = xd->protoff;
cryptoid = xd->cryptoid;

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 1, 6:11 AM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13234068
Default Alt Text
D44079.diff (481 B)

Event Timeline