Jonathan Wakely 789c57bc5f libstdc++: Fix undefined behaviour in std::string
This fixes a ubsan error when constructing a string with a null pointer:

bits/basic_string.h:534:21: runtime error: applying non-zero offset 18446744073709551615 to null pointer

The _M_construct function only cares whether the second pointer is
non-null, so create a non-null value without undefined arithmetic.

We can also pass the random_access_iterator_tag directly to the
_M_construct function, to avoid going via the tag dispatching
_M_construct_aux, because we know we have pointers not integers here.

libstdc++-v3/ChangeLog:

	* include/bits/basic_string.h (basic_string(const CharT*, const A&)):
	Do not do arithmetic on null pointer.
2021-05-04 22:45:02 +01:00
..
2021-01-04 10:26:59 +01:00
2021-04-06 16:43:24 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-04-06 16:43:24 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00
2021-01-04 10:26:59 +01:00