diff options
Diffstat (limited to 'ssl/quic/quic_sf_list.c')
-rw-r--r-- | ssl/quic/quic_sf_list.c | 7 |
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); |