[Mono-bugs] [Bug 676060] New: System.IO.MemoryStream can throw NullReferenceExceptions when expanding internal buffer
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Mar 1 15:58:58 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=676060
https://bugzilla.novell.com/show_bug.cgi?id=676060#c0
Summary: System.IO.MemoryStream can throw
NullReferenceExceptions when expanding internal buffer
Classification: Mono
Product: Mono: Class Libraries
Version: 2.8.x
Platform: x86-64
OS/Version: Ubuntu
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Sys.Core
AssignedTo: jbevain at novell.com
ReportedBy: lvanspronsen at escautomation.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13
There is an issue with the setter for System.IO.MemoryStream.Capacity.
In all constructors, MemoryStream initiates internalBuffer to some byte array,
and the rest of the class is programmed with that assumption in mind.
However, explicitly setting MemoryStream.Capacity = 0 will cause internalBuffer
to be set to null. (see MemoryStream.cs lines 168 - 172 )
At this point, any calls to Expand or attempts to set Capacity will throw
NullReferenceExceptions at line 165 of MemoryStream.cs
Reproducible: Always
Steps to Reproduce:
1. Create a new MemoryStream instance using any constructor
2. Write something to the memory stream
3. Explicitly set the instance's Position to 0
4. Explicitly set the instance's length to 0using SetLength()
5. Explicitly set the instance's Capacity property to 0
6. Try write something to the MemoryStream
Actual Results:
Throws a NullReferenceException at line 165 of MemoryStream.cs
Expected Results:
MemoryStream expands internal buffer properly and continues serializing values
to internal buffer without throwing an exception
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list