[linq] Fix overflow check for Count
authorJb Evain <jbevain@gmail.com>
Tue, 25 Jan 2011 22:47:58 +0000 (23:47 +0100)
committerJb Evain <jbevain@gmail.com>
Tue, 25 Jan 2011 22:47:58 +0000 (23:47 +0100)
mcs/class/System.Core/System.Linq/Enumerable.cs

index 56d52d4f45391875d38289ed1c46b9af57243fd7..362099dc97d8fc0f28958370e4fcc87029ccabb0 100644 (file)
@@ -637,7 +637,7 @@ namespace System.Linq
                        int counter = 0;
                        using (var enumerator = source.GetEnumerator ())
                                while (enumerator.MoveNext ())
-                                       counter++;
+                                       checked { counter++; }
 
                        return counter;
                }
@@ -649,7 +649,7 @@ namespace System.Linq
                        int counter = 0;
                        foreach (var element in source)
                                if (predicate (element))
-                                       counter++;
+                                       checked { counter++; }
 
                        return counter;
                }