[vlc-commits] Revert "Internal: Don't throw when wrapping a null instance"

Hugo Beauzée-Luyssen git at videolan.org
Mon May 25 10:04:45 CEST 2015


libvlcpp | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Wed May 20 10:34:06 2015 +0200| [43cab79253a96dbdb71bd3717415405cf8f3a1a8] | committer: Hugo Beauzée-Luyssen

Revert "Internal: Don't throw when wrapping a null instance"

This reverts commit 9d2e6edbbb2e4f1363baff6a745dd4a6e9f48201.
This makes more sense, since most of libvlc_*_release functions will
either assert or assume that the given pointer is non null.
Since shared_ptr will call the deleter for any pointer (including
nullptr), we're better of refusing to wrap a pointer and avoid undefined
behavior

> http://git.videolan.org/gitweb.cgi/libvlcpp.git/?a=commit;h=43cab79253a96dbdb71bd3717415405cf8f3a1a8
---

 vlcpp/Internal.hpp |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/vlcpp/Internal.hpp b/vlcpp/Internal.hpp
index 60412de..1fa3545 100644
--- a/vlcpp/Internal.hpp
+++ b/vlcpp/Internal.hpp
@@ -68,6 +68,8 @@ class Internal
         Internal( InternalPtr obj, Releaser releaser )
             : m_obj{ obj, releaser }
         {
+            if ( obj == nullptr )
+                throw std::runtime_error("Wrapping a NULL instance");
         }
 
         Internal(Releaser releaser)



More information about the vlc-commits mailing list