[fpc-devel] Read from memory stream with position before start of file

Michael Van Canneyt michael at freepascal.org
Thu Jan 1 17:12:40 CET 2009



On Thu, 1 Jan 2009, C Western wrote:

> While finding the bug #12897 I found that a memory stream position could
> be set to before the start of the file without giving an error, and
> subsequent reads would appear to work (unless the position was so far
> off an invalid region of memory was read). I found the precise problem
> by patching TCustomMemoryStream to raise an exception if the position is
> set before the start of the file. Should an exception be raised in this
> circumstance, which would make finding bugs easier? Or should the
> position just be set to 0, which would be more consistent with the
> behaviour when going beyond the end of the stream?

I think that an exception is better. If you set the position to a non-existing
position, there is an error in your logic anyway.

Michael.



More information about the fpc-devel mailing list