Opened 8 years ago
#11146 new Bugs
iostreams seekpos/seekoff must not throw exceptions
Reported by: | Owned by: | Jonathan Turkanis | |
---|---|---|---|
Milestone: | To Be Determined | Component: | iostreams |
Version: | Boost 1.57.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Currently, direct_streambuf<T, Tr>::seek_impl
throws bad_seek()
exception on invalid input.
The current standard draft N4296 says in section 27.8.2.4 about seekoff
:
If the positioning operation fails, or if the constructed object cannot represent the resultant stream position, the return value is pos_type(off_type(-1)).
At least the MSVC STL implementation does not expect pubseekoff/seekoff to throw, thus does not catch the exception and the bad_seek() exception may leak to the caller even though ios_base::exceptions() is 0.
Note:
See TracTickets
for help on using tickets.