X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..a90d420cbe87490c844ae422c966e746d3134b07:/key/key-data.c diff --git a/key/key-data.c b/key/key-data.c index 8b01d725..cd5c8d78 100644 --- a/key/key-data.c +++ b/key/key-data.c @@ -153,6 +153,7 @@ void key_split(key_data **kk) default: abort(); } + key_drop(k); } /*----- Setting new values ------------------------------------------------*/ @@ -427,8 +428,8 @@ static int structmatchp(key_data *k, const key_filter *kf) { key_subkeyiter i; - if (!KEY_MATCH(k, kf)) return (0); - else if ((k->e & KF_ENCMASK) == KENC_STRUCT) return (1); + if ((k->e & KF_ENCMASK) != KENC_STRUCT) + return (KEY_MATCH(k, kf)); else { for (key_mksubkeyiter(&i, k); key_nextsubkey(&i, 0, &k); ) if (!structmatchp(k, kf)) return (0);