Require valid key for dst_key functions

Make sure that the key structure is valid when calling the following
functions:
- dst_key_setexternal
- dst_key_isexternal
- dst_key_setmodified
- dst_key_ismodified
This commit is contained in:
Matthijs Mekking
2022-05-17 12:02:43 +02:00
parent 1fa24d0afb
commit 888ec4e0d4

View File

@@ -461,16 +461,22 @@ dst_key_tofile(const dst_key_t *key, int type, const char *directory) {
void
dst_key_setexternal(dst_key_t *key, bool value) {
REQUIRE(VALID_KEY(key));
key->external = value;
}
bool
dst_key_isexternal(dst_key_t *key) {
REQUIRE(VALID_KEY(key));
return (key->external);
}
void
dst_key_setmodified(dst_key_t *key, bool value) {
REQUIRE(VALID_KEY(key));
isc_mutex_lock(&key->mdlock);
key->modified = value;
isc_mutex_unlock(&key->mdlock);
@@ -480,6 +486,8 @@ bool
dst_key_ismodified(const dst_key_t *key) {
bool modified;
REQUIRE(VALID_KEY(key));
isc_mutex_lock(&(((dst_key_t *)key)->mdlock));
modified = key->modified;
isc_mutex_unlock(&(((dst_key_t *)key)->mdlock));