diff --git a/src/wh_server_cert.c b/src/wh_server_cert.c index db0871605..469dae8ce 100644 --- a/src/wh_server_cert.c +++ b/src/wh_server_cert.c @@ -931,6 +931,15 @@ int wh_Server_HandleCertRequest(whServerContext* server, uint16_t magic, whMessageCert_EraseTrustedRequest req = {0}; whMessageCert_SimpleResponse resp = {0}; + /* Validate minimum size */ + if (req_size < sizeof(req)) { + resp.rc = WH_ERROR_BADARGS; + wh_MessageCert_TranslateSimpleResponse( + magic, &resp, (whMessageCert_SimpleResponse*)resp_packet); + *out_resp_size = sizeof(resp); + break; + } + /* Convert request struct */ wh_MessageCert_TranslateEraseTrustedRequest( magic, (whMessageCert_EraseTrustedRequest*)req_packet, &req);