From e15deea2826d6598563f01b9b96474ff31dbc3b1 Mon Sep 17 00:00:00 2001 From: Eduardo Caceres Date: Sat, 5 Oct 2019 02:40:24 +0100 Subject: [PATCH] Prevent possible null reference exception * Prevent possible null referrence exception in `SelectItems.GetItems()` * Other Minor changes --- .../TagHelpers/Form/AbpRadioInputTagHelperService.cs | 4 ++-- .../TagHelpers/Form/SelectItems.cs | 8 ++++---- .../DefaultExceptionToErrorInfoConverter.cs | 6 +++--- .../src/Volo.Abp.Core/Volo/Abp/Threading/AsyncHelper.cs | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs index f89d3c1fee..6f71842b61 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpRadioInputTagHelperService.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; @@ -130,7 +130,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form if (!selectItems.Any(si => si.Selected)) { - var itemToBeSelected = selectItems.FirstOrDefault(si => si.Value.ToString() == selectedValue); + var itemToBeSelected = selectItems.FirstOrDefault(si => si.Value == selectedValue); if (itemToBeSelected != null) { diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs index 4b281770fd..c12eda1b21 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/SelectItems.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Mvc.Rendering; @@ -23,16 +23,16 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form while (properties.Count == 0) { explorer = explorer.Container; - properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName.Equals(ItemsListPropertyName)).ToList(); - if (explorer.Container == null) { return null; } + + properties = explorer.Container.Properties.Where(p => p.Metadata.PropertyName.Equals(ItemsListPropertyName)).ToList(); } var selectItems = (properties.First().Model as IEnumerable).ToList(); - + return selectItems; } } diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs index c7f4252352..af22ff2f7e 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -42,9 +42,9 @@ namespace Volo.Abp.AspNetCore.Mvc.ExceptionHandling { var errorInfo = CreateErrorInfoWithoutCode(exception); - if (exception is IHasErrorCode) + if (exception is IHasErrorCode hasErrorCodeException) { - errorInfo.Code = (exception as IHasErrorCode).Code; + errorInfo.Code = hasErrorCodeException.Code; } return errorInfo; diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Threading/AsyncHelper.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Threading/AsyncHelper.cs index 2b40cd6790..dc678b8fd4 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Threading/AsyncHelper.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Threading/AsyncHelper.cs @@ -24,7 +24,7 @@ namespace Volo.Abp.Threading public static bool IsTaskOrTaskOfT([NotNull] this Type type) { - return type == typeof(Task) || type.GetTypeInfo().IsGenericType && type.GetGenericTypeDefinition() == typeof(Task<>); + return type == typeof(Task) || (type.GetTypeInfo().IsGenericType && type.GetGenericTypeDefinition() == typeof(Task<>)); } ///