summaryrefslogtreecommitdiffstats
path: root/ssl/quic/quic_sf_list.c
diff options
context:
space:
mode:
Diffstat (limited to 'ssl/quic/quic_sf_list.c')
-rw-r--r--ssl/quic/quic_sf_list.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ssl/quic/quic_sf_list.c b/ssl/quic/quic_sf_list.c
index b53cbc1739..7f3fc9b842 100644
--- a/ssl/quic/quic_sf_list.c
+++ b/ssl/quic/quic_sf_list.c
@@ -20,6 +20,9 @@ struct stream_frame_st {
static void stream_frame_free(SFRAME_LIST *fl, STREAM_FRAME *sf)
{
+ if (fl->cleanse && sf->data != NULL)
+ OPENSSL_cleanse((unsigned char *)sf->data,
+ (size_t)(sf->range.end - sf->range.start));
ossl_qrx_pkt_release(sf->pkt);
OPENSSL_free(sf);
}
@@ -295,6 +298,10 @@ int ossl_sframe_list_move_data(SFRAME_LIST *fl,
/* data did not fit */
return 0;
+ if (fl->cleanse)
+ OPENSSL_cleanse((unsigned char *)sf->data,
+ (size_t)(sf->range.end - sf->range.start));
+
/* release the packet */
sf->data = NULL;
ossl_qrx_pkt_release(sf->pkt);