Merge pull request #189 from Rychard/verify-resource-before-access

Don't attempt to access non-existent manifest resources
This commit is contained in:
Assistant 2020-06-08 20:29:45 -06:00 committed by GitHub
commit 1fd55d9df6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -433,9 +433,19 @@ namespace ModAssistant
private static BitmapImage GetImageFromEmbeddedResources(string themeName, string imageName)
{
var assembly = Assembly.GetExecutingAssembly();
var resourceNames = assembly.GetManifestResourceNames();
var desiredResourceName = $"ModAssistant.Themes.{themeName}.{imageName}.png";
// Don't attempt to access non-existent manifest resources
if (!resourceNames.Contains(desiredResourceName))
{
return null;
}
try
{
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"ModAssistant.Themes.{themeName}.{imageName}.png"))
using (Stream stream = assembly.GetManifestResourceStream(desiredResourceName))
{
byte[] imageBytes = new byte[stream.Length];
stream.Read(imageBytes, 0, (int)stream.Length);