From 0cba9e313de30301e6ddac6a31a9c15cd9933c93 Mon Sep 17 00:00:00 2001 From: StephenCWills Date: Mon, 6 Jul 2026 09:46:09 -0400 Subject: [PATCH] Validate the types of adapters loaded by AdapterCollectionBase --- src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs b/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs index d3415d713..00f55d6a1 100644 --- a/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs +++ b/src/Gemstone.Timeseries/Adapters/AdapterCollectionBase.cs @@ -829,7 +829,12 @@ public virtual bool TryCreateAdapter(DataRow adapterRow, out T adapter) throw new InvalidOperationException("Specified adapter assembly does not exist"); Assembly assembly = Assembly.LoadFrom(assemblyName); - adapter = (T)Activator.CreateInstance(assembly.GetType(typeName)!)!; + Type? adapterType = assembly.GetType(typeName); + + if (!typeof(T).IsAssignableFrom(adapterType)) + throw new InvalidOperationException("Adapter type is not compatible with the adapter collection"); + + adapter = (T)Activator.CreateInstance(adapterType)!; // Assign critical adapter properties adapter.Name = name;