Browse Source

vlc_list: use static_cast for std::nullptr_t conversion

Current code can lead to the following error:

    invalid cast from type 'std::nullptr_t' to type 'const volatile info_t*'

Following documentation[^1] from cppreference.com:

    9) The null pointer value of any pointer type can be converted to any
       other pointer type, resulting in the null pointer value of that type.
       Note that the null pointer constant nullptr or any other value of
       type std::nullptr_t cannot be converted to a pointer with
       reinterpret_cast: implicit conversion or static_cast should be used
       for this purpose.

[^1]: https://en.cppreference.com/w/cpp/language/reinterpret_cast

Fix #28526
pull/162/head
Alexandre Janniaux 3 years ago
committed by Steve Lhomme
parent
commit
63dce4de32
  1. 2
      include/vlc_list.hpp

2
include/vlc_list.hpp

@ -128,7 +128,7 @@ protected:
constexpr std::ptrdiff_t offset() const {
return reinterpret_cast<std::ptrdiff_t>(
&(reinterpret_cast<NodeType const volatile*>(NULL)->*_node_ptr)
&(static_cast<NodeType const volatile*>(NULL)->*_node_ptr)
);
}

Loading…
Cancel
Save