Félicitations, vous avez trouvé un bug dans le framework .NET. Il est induit par la valeur de l'octet, 0xef en hexadécimal. Quel est le premier octet du UTF-8 BOM. Ce n'est pas une nomenclature complète bien sûr, les deux octets suivants manquent. Il suffit cependant de confondre fatalement StreamReader, il continue à essayer de lire les données du flux sans jamais aller nulle part, consommant de la mémoire en essayant. Le MOO est, finalement, le suivant.
Ce bug est présent dans .NET 4.0 ainsi. La source exacte du bogue est difficile à retracer, le code impliqué n'est pas inclus dans la source de référence. Il pourrait éventuellement être classé comme critique car il pourrait être utilisé dans une attaque DOS. Vous pouvez signaler le bug sur connect.microsoft.com. Faites-moi savoir si vous ne voulez pas, je vais le signaler (devoir MVP).
bug # 594588 Ouvert – skb
upvoted. URL: http://connect.microsoft.com/VisualStudio/feedback/details/594588/why-does-streamreader-readline-throw-outofmemoryexception –