mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-09 12:33:56 +08:00
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: r260229
This commit is contained in:
parent
9f613f06b0
commit
6bfbebb063
@ -1,5 +1,9 @@
|
|||||||
2018-05-14 Jonathan Wakely <jwakely@redhat.com>
|
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
|
PR libstdc++/82966
|
||||||
* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
|
* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
|
||||||
instead of type.
|
instead of type.
|
||||||
|
@ -152,7 +152,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||||||
{
|
{
|
||||||
inline static void
|
inline static void
|
||||||
_S_do_it(const _Tp* __b, const _Tp* __e, _Tp* __restrict__ __o)
|
_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>
|
template<typename _Tp>
|
||||||
@ -258,7 +261,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||||||
{
|
{
|
||||||
inline static void
|
inline static void
|
||||||
_S_do_it(const _Tp* __restrict__ __a, size_t __n, _Tp* __restrict__ __b)
|
_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[<>]
|
// Copy a plain array __a[<__n>] into a play array __b[<>]
|
||||||
|
Loading…
Reference in New Issue
Block a user