diff --git a/examples/server/server.c b/examples/server/server.c index 0b660a56e..7d9af8d99 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -67,8 +67,9 @@ #if defined(HAVE_SESSION_TICKET) && defined(HAVE_CHACHA) && \ defined(HAVE_POLY1305) #include - static int TicketInit(void); - static int myTicketEncCb(WOLFSSL* ssl, byte key_name[16], byte iv[16], + static int TicketInit(void); + static void TicketCleanup(void); + static int myTicketEncCb(WOLFSSL* ssl, byte key_name[16], byte iv[16], byte mac[32], int enc, byte* ticket, int inLen, int* outLen); #endif @@ -664,6 +665,11 @@ while (1) { /* allow resume option */ fdCloseSession(Task_self()); #endif +#if defined(HAVE_SESSION_TICKET) && defined(HAVE_CHACHA) && \ + defined(HAVE_POLY1305) + TicketCleanup(); +#endif + #ifndef CYASSL_TIRTOS return 0; #endif @@ -773,6 +779,11 @@ while (1) { /* allow resume option */ return 0; } + static void TicketCleanup(void) + { + wc_FreeRng(&rng); + } + static int myTicketEncCb(WOLFSSL* ssl, byte key_name[WOLFSSL_TICKET_NAME_SZ], byte iv[WOLFSSL_TICKET_IV_SZ],