From f427608f898dea5c778b3a2c5a804f8a5b188d17 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Wed, 8 Feb 2012 11:43:57 +0200 Subject: [PATCH] obexd: fix not checking session_request return In case session_request return an error proceed to the next --- obexd/client/session.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/obexd/client/session.c b/obexd/client/session.c index c127974d4..c9df83246 100644 --- a/obexd/client/session.c +++ b/obexd/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); } -- 2.47.3