From e21688ffb5a694b0de085a1130eb90347b270c81 Mon Sep 17 00:00:00 2001 From: sornaks Date: Fri, 25 Apr 2014 11:15:49 -0700 Subject: [PATCH] #190 Tighten protections around `ModelStateDictionary` additions --- .../ModelStateDictionary.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/ModelStateDictionary.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/ModelStateDictionary.cs index eaf37fa270..97db99e6ab 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/ModelStateDictionary.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/ModelStateDictionary.cs @@ -57,7 +57,14 @@ namespace Microsoft.AspNet.Mvc.ModelBinding _innerDictionary.TryGetValue(key, out value); return value; } - set { _innerDictionary[key] = value; } + set + { + if(value == null) + { + throw new ArgumentNullException("value"); + } + _innerDictionary[key] = value; + } } public void AddModelError([NotNull] string key, [NotNull] Exception exception) @@ -149,7 +156,7 @@ namespace Microsoft.AspNet.Mvc.ModelBinding #region IDictionary members public void Add(KeyValuePair item) { - _innerDictionary.Add(item); + Add(item.Key, item.Value); } public void Add([NotNull] string key, [NotNull] ModelState value)