From 278eca91e80f430294e994afd2398a963515ad8d Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Fri, 30 Aug 2002 07:07:44 +0000 Subject: [PATCH] Fixed to not allow duplicate PKCS registering. Bug #17. --- CHANGES | 3 +++ lib/silccrypt/silcpkcs.c | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGES b/CHANGES index 0351172b..eaa81a00 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,9 @@ Fri Aug 30 08:57:33 CEST 2002 Pekka Riikonen fingerprint instead of two first bytes when determining if it is set. Bug #18. Affected file silcd/command.c. + * Fixed duplicate PKCS name registering to not allow it. + Bugs #17. Affected file lib/silccrypt/silcpkcs.c. + Sun Aug 25 08:02:04 CEST 2002 Lubomir Sedlacik * Conditionalize non-gcc compiler optimizations for various diff --git a/lib/silccrypt/silcpkcs.c b/lib/silccrypt/silcpkcs.c index d9662663..e079e40a 100644 --- a/lib/silccrypt/silcpkcs.c +++ b/lib/silccrypt/silcpkcs.c @@ -71,6 +71,16 @@ bool silc_pkcs_register(const SilcPKCSObject *pkcs) SILC_LOG_DEBUG(("Registering new PKCS `%s'", pkcs->name)); + /* Check if exists already */ + if (silc_pkcs_list) { + SilcPKCSObject *entry; + silc_dlist_start(silc_pkcs_list); + while ((entry = silc_dlist_get(silc_pkcs_list)) != SILC_LIST_END) { + if (!strcmp(entry->name, pkcs->name)) + return FALSE; + } + } + new = silc_calloc(1, sizeof(*new)); new->name = strdup(pkcs->name); new->init = pkcs->init; -- 2.24.0