client = address->radclient;
- if (fr_radius_verify(data, NULL, (uint8_t const *) client->secret, talloc_array_length(client->secret) - 1,
+ /*
+ * !client->active means a fake packet defining a dynamic client - so there will
+ * be no secret defined yet - so can't verify.
+ */
+ if (client->active &&
+ fr_radius_verify(data, NULL, (uint8_t const *) client->secret, talloc_array_length(client->secret) - 1,
client->message_authenticator) < 0) {
RPEDEBUG("Failed verifying packet signature.");
return -1;