X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcske%2Fsilcske.c;h=34c4c16796b68ba5730e4ec44228df2fe01cd7b1;hb=4519ed70ffbb48c8f92709af462f8499e78f31f3;hp=0dac063376bdd3490cf231c9c9faefc128fd3afa;hpb=58b8d8f72ac021305b83f61d27865a0178dc7715;p=silc.git diff --git a/lib/silcske/silcske.c b/lib/silcske/silcske.c index 0dac0633..34c4c167 100644 --- a/lib/silcske/silcske.c +++ b/lib/silcske/silcske.c @@ -775,6 +775,7 @@ silc_ske_select_security_properties(SilcSKE ske, SilcSKEStartPayload *payload, SilcSKEStartPayload *remote_payload) { + SilcSKEStatus status; SilcSKEStartPayload *rp; char *cp; int len; @@ -783,6 +784,11 @@ silc_ske_select_security_properties(SilcSKE ske, rp = remote_payload; + /* Check version string */ + status = silc_ske_check_version(ske, rp->version, rp->version_len); + if (status != SILC_SKE_STATUS_OK) + return status; + /* Flags are returned unchanged. */ payload->flags = rp->flags; @@ -791,9 +797,6 @@ silc_ske_select_security_properties(SilcSKE ske, payload->cookie_len = SILC_SKE_COOKIE_LEN; memcpy(payload->cookie, rp->cookie, SILC_SKE_COOKIE_LEN); - /* Check version string */ - silc_ske_check_version(ske, rp->version, rp->version_len); - /* Put our version to our reply */ payload->version = strdup(version); payload->version_len = strlen(version);