Return-Path: From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH obexd 01/13] client: fix not checking session_request return Date: Mon, 30 Jan 2012 07:30:24 -0800 Message-Id: <1327937436-15480-1-git-send-email-luiz.dentz@gmail.com> Sender: linux-bluetooth-owner@vger.kernel.org List-ID: From: Luiz Augusto von Dentz In case session_request return an error proceed to the next --- client/session.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/session.c b/client/session.c index c127974..c9df832 100644 --- a/client/session.c +++ b/client/session.c @@ -687,9 +687,16 @@ static void session_terminate_transfer(struct obc_session *session, obc_session_remove_transfer(session, transfer); - if (session->pending) - session_request(session, session_prepare_put, - session->pending->data); + while (session->pending != NULL) { + struct obc_transfer *transfer = session->pending->data; + int err; + + err = session_request(session, session_prepare_put, transfer); + if (err == 0) + break; + + obc_session_remove_transfer(session, transfer); + } obc_session_unref(session); } -- 1.7.7.6