PR libstdc++/67554 Do not pass null pointers to memcpy
PR libstdc++/67554 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>) (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy. From-SVN: r260243
This commit is contained in:
parent
a49fa6a084
commit
cb4a4643bc
@ -1,5 +1,9 @@
|
||||
2018-05-14 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/67554
|
||||
* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
|
||||
(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
|
||||
|
||||
PR libstdc++/82966
|
||||
* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
|
||||
instead of type.
|
||||
|
@ -152,7 +152,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
{
|
||||
inline static void
|
||||
_S_do_it(const _Tp* __b, const _Tp* __e, _Tp* __restrict__ __o)
|
||||
{ __builtin_memcpy(__o, __b, (__e - __b) * sizeof(_Tp)); }
|
||||
{
|
||||
if (__b)
|
||||
__builtin_memcpy(__o, __b, (__e - __b) * sizeof(_Tp));
|
||||
}
|
||||
};
|
||||
|
||||
template<typename _Tp>
|
||||
@ -258,7 +261,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
{
|
||||
inline static void
|
||||
_S_do_it(const _Tp* __restrict__ __a, size_t __n, _Tp* __restrict__ __b)
|
||||
{ __builtin_memcpy(__b, __a, __n * sizeof (_Tp)); }
|
||||
{
|
||||
if (__n != 0)
|
||||
__builtin_memcpy(__b, __a, __n * sizeof (_Tp));
|
||||
}
|
||||
};
|
||||
|
||||
// Copy a plain array __a[<__n>] into a play array __b[<>]
|
||||
|
Loading…
Reference in New Issue
Block a user