diff --git a/src/ssl_sess.c b/src/ssl_sess.c index dda518c91..7f8c56c30 100644 --- a/src/ssl_sess.c +++ b/src/ssl_sess.c @@ -3534,6 +3534,10 @@ int wolfSSL_SESSION_get_master_key_length(const WOLFSSL_SESSION* ses) #ifdef WOLFSSL_EARLY_DATA unsigned int wolfSSL_SESSION_get_max_early_data(const WOLFSSL_SESSION *session) { + if (session == NULL) { + return BAD_FUNC_ARG; + } + return session->maxEarlyDataSz; } #endif /* WOLFSSL_EARLY_DATA */ diff --git a/tests/quic.c b/tests/quic.c index 355b07f69..3bfd2db07 100644 --- a/tests/quic.c +++ b/tests/quic.c @@ -1675,6 +1675,9 @@ static int test_quic_early_data(int verbose) { QuicTestContext_free(&tclient); QuicTestContext_free(&tserver); + /* check for error value with null argument */ + ExpectIntEQ(wolfSSL_SESSION_get_max_early_data(NULL), BAD_FUNC_ARG); + /* QUIC requires 0 or 0xffffffff as only allowed values. * Since we enabled early data in the server that created the session, * we need to see it here. */