Fixed the usage of silc_pkcs_get_key_len function.
[silc.git] / apps / silcd / protocol.c
index 06922c364641772e407a40a789f9266e8789e940..8770fc0ff0abcdd05aa1a82b2ec737ae4887f0b6 100644 (file)
@@ -781,7 +781,8 @@ silc_server_get_public_key_auth(SilcServer server,
                                          ske->start_payload_copy->len),
                     SILC_STR_END);
 
-  *auth_data = silc_calloc(silc_pkcs_get_key_len(pkcs), sizeof(**auth_data));
+  *auth_data = silc_calloc((silc_pkcs_get_key_len(pkcs) / 8) + 1,
+                          sizeof(**auth_data));
   if (silc_pkcs_sign_with_hash(pkcs, ske->prop->hash, auth->data, 
                               auth->len, *auth_data, auth_data_len)) {
     silc_buffer_free(auth);