Hi tech@,
Add sizes for free() in cryptosoft.c.
Comments? OK?
Index: sys/crypto/cryptosoft.c
===================================================================
RCS file: /cvs/src/sys/crypto/cryptosoft.c,v
retrieving revision 1.83
diff -u -p -r1.83 cryptosoft.c
--- sys/crypto/cryptosoft.c 2 May 2017 11:44:32 -0000 1.83
+++ sys/crypto/cryptosoft.c 29 May 2018 11:13:13 -0000
@@ -971,7 +971,8 @@ swcr_freesession(u_int64_t tid)
if (swd->sw_kschedule) {
explicit_bzero(swd->sw_kschedule, txf->ctxsize);
- free(swd->sw_kschedule, M_CRYPTO_DATA, 0);
+ free(swd->sw_kschedule, M_CRYPTO_DATA,
+ txf->ctxsize);
}
break;
@@ -985,11 +986,11 @@ swcr_freesession(u_int64_t tid)
if (swd->sw_ictx) {
explicit_bzero(swd->sw_ictx, axf->ctxsize);
- free(swd->sw_ictx, M_CRYPTO_DATA, 0);
+ free(swd->sw_ictx, M_CRYPTO_DATA, axf->ctxsize);
}
if (swd->sw_octx) {
explicit_bzero(swd->sw_octx, axf->ctxsize);
- free(swd->sw_octx, M_CRYPTO_DATA, 0);
+ free(swd->sw_octx, M_CRYPTO_DATA, axf->ctxsize);
}
break;
@@ -1001,12 +1002,12 @@ swcr_freesession(u_int64_t tid)
if (swd->sw_ictx) {
explicit_bzero(swd->sw_ictx, axf->ctxsize);
- free(swd->sw_ictx, M_CRYPTO_DATA, 0);
+ free(swd->sw_ictx, M_CRYPTO_DATA, axf->ctxsize);
}
break;
}
- free(swd, M_CRYPTO_DATA, 0);
+ free(swd, M_CRYPTO_DATA, sizeof(*swd));
}
return 0;
}