diff --git a/contrib/pg_tde/src/catalog/tde_keyring.c b/contrib/pg_tde/src/catalog/tde_keyring.c index f85aaed67e4cc..325d969c7a746 100644 --- a/contrib/pg_tde/src/catalog/tde_keyring.c +++ b/contrib/pg_tde/src/catalog/tde_keyring.c @@ -213,19 +213,12 @@ pg_tde_change_key_provider_internal(PG_FUNCTION_ARGS, Oid dbOid) char *provider_type = text_to_cstring(PG_GETARG_TEXT_PP(0)); char *provider_name = text_to_cstring(PG_GETARG_TEXT_PP(1)); char *options = text_to_cstring(PG_GETARG_TEXT_PP(2)); - int nlen, - olen; + int olen; KeyringProviderRecord provider; /* reports error if not found */ GenericKeyring *keyring = GetKeyProviderByName(provider_name, dbOid); - nlen = strlen(provider_name); - if (nlen >= sizeof(provider.provider_name)) - ereport(ERROR, - errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("too long provider name, maximum length is %ld bytes", sizeof(provider.provider_name) - 1)); - olen = strlen(options); if (olen >= sizeof(provider.options)) ereport(ERROR, @@ -235,7 +228,7 @@ pg_tde_change_key_provider_internal(PG_FUNCTION_ARGS, Oid dbOid) /* Struct will be saved to disk so keep clean */ memset(&provider, 0, sizeof(provider)); provider.provider_id = keyring->keyring_id; - memcpy(provider.provider_name, provider_name, nlen); + memcpy(provider.provider_name, provider_name, strlen(provider_name)); memcpy(provider.options, options, olen); provider.provider_type = get_keyring_provider_from_typename(provider_type);