Skip to content

Commit 589aa5e

Browse files
committed
Fixed a bug where an ArgumentNullException would be thrown for post data that had null keys.
1 parent c111a5a commit 589aa5e

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

Source/Platforms/Nancy/NancyRequestInfoCollector.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ public static RequestInfo Collect(NancyContext context, IEnumerable<string> excl
5454
private static Dictionary<string, string> ToDictionary(this IEnumerable<KeyValuePair<string, string>> cookies, IEnumerable<string> exclusions) {
5555
var d = new Dictionary<string, string>();
5656

57-
foreach (var kv in cookies.Where(pair => !String.IsNullOrEmpty(pair.Key) && !pair.Key.AnyWildcardMatches(_ignoredCookies, true) && !pair.Key.AnyWildcardMatches(exclusions, true)))
58-
{
57+
foreach (var kv in cookies.Where(pair => !String.IsNullOrEmpty(pair.Key) && !pair.Key.AnyWildcardMatches(_ignoredCookies, true) && !pair.Key.AnyWildcardMatches(exclusions, true))) {
5958
if (!d.ContainsKey(kv.Key))
6059
d.Add(kv.Key, kv.Value);
6160
}
@@ -68,7 +67,7 @@ private static Dictionary<string, string> ToDictionary(this NameValueCollection
6867

6968
var exclusionsArray = exclusions as string[] ?? exclusions.ToArray();
7069
foreach (string key in values.AllKeys) {
71-
if (key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(exclusionsArray, true))
70+
if (String.IsNullOrEmpty(key) || key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(exclusionsArray, true))
7271
continue;
7372

7473
try {

Source/Platforms/Web/RequestInfoCollector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private static Dictionary<string, string> ToDictionary(this HttpCookieCollection
8888
foreach (string key in cookies.AllKeys.Distinct().Where(k => !String.IsNullOrEmpty(k) && !k.AnyWildcardMatches(_ignoredCookies, true) && !k.AnyWildcardMatches(exclusions, true))) {
8989
try {
9090
HttpCookie cookie = cookies.Get(key);
91-
if ( cookie != null && cookie.Value != null && cookie.Value.Length < MAX_DATA_ITEM_LENGTH && !d.ContainsKey(key))
91+
if (cookie != null && cookie.Value != null && cookie.Value.Length < MAX_DATA_ITEM_LENGTH && !d.ContainsKey(key))
9292
d.Add(key, cookie.Value);
9393
} catch (Exception ex) {
9494
if (!d.ContainsKey(key))
@@ -104,7 +104,7 @@ private static Dictionary<string, string> ToDictionary(this NameValueCollection
104104

105105
var exclusionsArray = exclusions as string[] ?? exclusions.ToArray();
106106
foreach (string key in values.AllKeys) {
107-
if (key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(exclusionsArray, true))
107+
if (String.IsNullOrEmpty(key) || key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(exclusionsArray, true))
108108
continue;
109109

110110
try {

Source/Platforms/WebApi/HttpRequestInfoCollector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ private static Dictionary<string, string> ToDictionary(this NameValueCollection
7070

7171
var patternsToMatch = exclusions as string[] ?? exclusions.ToArray();
7272
foreach (string key in values.AllKeys) {
73-
if (key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(patternsToMatch, true))
73+
if (String.IsNullOrEmpty(key) || key.AnyWildcardMatches(_ignoredFormFields, true) || key.AnyWildcardMatches(patternsToMatch, true))
7474
continue;
7575

7676
try {

0 commit comments

Comments
 (0)