From 92c4848c0cfec319c10568376d37880d04d4c18a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Chalet?= Date: Sat, 3 Oct 2020 20:01:17 +0200 Subject: [PATCH] Ensure cached JsonElement instances are always cloned --- .../Stores/OpenIddictEntityFrameworkApplicationStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkAuthorizationStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkScopeStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkTokenStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkCoreApplicationStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkCoreScopeStore.cs | 2 +- .../Stores/OpenIddictEntityFrameworkCoreTokenStore.cs | 2 +- .../Stores/OpenIddictMongoDbApplicationStore.cs | 2 +- .../Stores/OpenIddictMongoDbAuthorizationStore.cs | 2 +- src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbScopeStore.cs | 2 +- src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbTokenStore.cs | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkApplicationStore.cs b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkApplicationStore.cs index 237c17a0..5265b957 100644 --- a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkApplicationStore.cs +++ b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkApplicationStore.cs @@ -520,7 +520,7 @@ namespace OpenIddict.EntityFramework foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkAuthorizationStore.cs b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkAuthorizationStore.cs index d7c6715e..a19076d1 100644 --- a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkAuthorizationStore.cs +++ b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkAuthorizationStore.cs @@ -460,7 +460,7 @@ namespace OpenIddict.EntityFramework foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkScopeStore.cs b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkScopeStore.cs index 24cfa345..025502af 100644 --- a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkScopeStore.cs +++ b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkScopeStore.cs @@ -368,7 +368,7 @@ namespace OpenIddict.EntityFramework foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkTokenStore.cs b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkTokenStore.cs index 2bbaa70b..c02f10c7 100644 --- a/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkTokenStore.cs +++ b/src/OpenIddict.EntityFramework/Stores/OpenIddictEntityFrameworkTokenStore.cs @@ -451,7 +451,7 @@ namespace OpenIddict.EntityFramework foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreApplicationStore.cs b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreApplicationStore.cs index 7ebfb481..cd9c71bc 100644 --- a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreApplicationStore.cs +++ b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreApplicationStore.cs @@ -571,7 +571,7 @@ namespace OpenIddict.EntityFrameworkCore foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs index 8b5dfb68..3cba1382 100644 --- a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs +++ b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs @@ -528,7 +528,7 @@ namespace OpenIddict.EntityFrameworkCore foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreScopeStore.cs b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreScopeStore.cs index 85d26cce..9c94efc3 100644 --- a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreScopeStore.cs +++ b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreScopeStore.cs @@ -384,7 +384,7 @@ namespace OpenIddict.EntityFrameworkCore foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs index 29c101f5..89c4040f 100644 --- a/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs +++ b/src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs @@ -503,7 +503,7 @@ namespace OpenIddict.EntityFrameworkCore foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return builder.ToImmutable(); diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbApplicationStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbApplicationStore.cs index 58142cc8..75de228b 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbApplicationStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbApplicationStore.cs @@ -343,7 +343,7 @@ namespace OpenIddict.MongoDb foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return new ValueTask>(builder.ToImmutable()); diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbAuthorizationStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbAuthorizationStore.cs index a7911c46..010a7000 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbAuthorizationStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbAuthorizationStore.cs @@ -404,7 +404,7 @@ namespace OpenIddict.MongoDb foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return new ValueTask>(builder.ToImmutable()); diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbScopeStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbScopeStore.cs index e88a9212..991d6da9 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbScopeStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbScopeStore.cs @@ -292,7 +292,7 @@ namespace OpenIddict.MongoDb foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return new ValueTask>(builder.ToImmutable()); diff --git a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbTokenStore.cs b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbTokenStore.cs index 3089dcc2..6dd9bda8 100644 --- a/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbTokenStore.cs +++ b/src/OpenIddict.MongoDb/Stores/OpenIddictMongoDbTokenStore.cs @@ -424,7 +424,7 @@ namespace OpenIddict.MongoDb foreach (var property in document.RootElement.EnumerateObject()) { - builder[property.Name] = property.Value; + builder[property.Name] = property.Value.Clone(); } return new ValueTask>(builder.ToImmutable());