This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[libstdc++ patch] Fix basic_string::_S_construct null pointer check


basic_string::_S_construct attempts to do a null-pointer check by comparing the "__beg" iterator to a default-constructed iterator of the same type. This both triggers an error in debug mode ("attempt to compare against a singular iterator") and could cause incorrect behavior in release mode in the following unlikely circumstance:

1) [begin, end) is an empty iterator range, and
2) end is equal to a default-constructed iterator, and
3) the user passes in an allocator that is not equivalent to a default-constructed allocator


Tested on powerpc-apple-darwin; no regressions in debug or release mode. Okay to commit?

Doug

Attachment: string_construct_null.patch
Description: Binary data

Attachment: string_construct_null.ChangeLog
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]