template<class Y> explicit shared_ptr(Y* p);[util.smartptr.shared.const]/6 Throws:
bad_alloc, or an implementation-defined exception when a resource other than memory could not be obtained.
[util.smartptr.shared.const]/7 Exception safety: If an exception is thrown,delete pis called.
So no, no memory leak.