From e620b432b20e6337b6a638b7a52234b793974ecf Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 14 Mar 2018 10:29:44 +0100 Subject: [PATCH] avoid invalid read if CallSessionPrivate is deleted within call to L_GET_PRIVATE(session)->failure(); --- coreapi/callbacks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index 2faa1cef6..6302d92f6 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -256,7 +256,7 @@ static void call_terminated(SalOp *op, const char *from) { } static void call_failure(SalOp *op) { - LinphonePrivate::CallSession *session = reinterpret_cast(op->get_user_pointer()); + std::shared_ptr session = reinterpret_cast(op->get_user_pointer())->getSharedFromThis(); if (!session) { ms_warning("Failure reported on already terminated CallSession"); return;