Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 1/3] Make use of transfer->err to store transfer errors
@ 2010-10-18 14:18 Luiz Augusto von Dentz
  2010-10-18 14:18 ` [PATCH 2/3] Fix not setting proper errors when canceling suspended requests Luiz Augusto von Dentz
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Luiz Augusto von Dentz @ 2010-10-18 14:18 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.dentz-von@nokia.com>

---
 client/transfer.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/client/transfer.c b/client/transfer.c
index ea98b32..6eec513 100644
--- a/client/transfer.c
+++ b/client/transfer.c
@@ -360,7 +360,7 @@ static void put_xfer_progress(GwObexXfer *xfer, gpointer user_data)
 {
 	struct transfer_data *transfer = user_data;
 	struct transfer_callback *callback = transfer->callback;
-	gint written, err = 0;
+	gint written;
 
 	if (transfer->buffer_len == 0) {
 		transfer->buffer_len = DEFAULT_BUFFER_SIZE;
@@ -373,20 +373,20 @@ static void put_xfer_progress(GwObexXfer *xfer, gpointer user_data)
 		len = read(transfer->fd, transfer->buffer + transfer->filled,
 				transfer->buffer_len - transfer->filled);
 		if (len < 0) {
-			err = -errno;
+			transfer->err = -errno;
 			goto done;
 		}
 
 		transfer->filled += len;
 
 		if (transfer->filled == 0) {
-			gw_obex_xfer_close(xfer, &err);
+			gw_obex_xfer_close(xfer, &transfer->err);
 			goto done;
 		}
 
 		if (gw_obex_xfer_write(xfer, transfer->buffer,
 					transfer->filled,
-					&written, &err) == FALSE)
+					&written, &transfer->err) == FALSE)
 			goto done;
 
 		transfer->filled -= written;
@@ -397,7 +397,7 @@ static void put_xfer_progress(GwObexXfer *xfer, gpointer user_data)
 
 done:
 	if (callback)
-		callback->func(transfer, transfer->transferred, err,
+		callback->func(transfer, transfer->transferred, transfer->err,
 				callback->data);
 }
 
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] Fix not setting proper errors when canceling suspended requests
  2010-10-18 14:18 [PATCH 1/3] Make use of transfer->err to store transfer errors Luiz Augusto von Dentz
@ 2010-10-18 14:18 ` Luiz Augusto von Dentz
  2010-10-18 14:18 ` [PATCH 3/3] Fix possible invalid read Luiz Augusto von Dentz
  2010-10-20  8:57 ` [PATCH 1/3] Make use of transfer->err to store transfer errors Johan Hedberg
  2 siblings, 0 replies; 4+ messages in thread
From: Luiz Augusto von Dentz @ 2010-10-18 14:18 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.dentz-von@nokia.com>

---
 src/obex.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/obex.c b/src/obex.c
index f37cd90..6d4430d 100644
--- a/src/obex.c
+++ b/src/obex.c
@@ -702,9 +702,10 @@ static gboolean handle_async_io(void *object, int flags, int err,
 		ret = obex_read_stream(os, os->obex, os->obj);
 
 proceed:
-	if (ret < 0)
+	if (ret < 0) {
+		os_set_response(os->obj, err);
 		OBEX_CancelRequest(os->obex, TRUE);
-	else
+	} else
 		OBEX_ResumeRequest(os->obex);
 
 	return FALSE;
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] Fix possible invalid read
  2010-10-18 14:18 [PATCH 1/3] Make use of transfer->err to store transfer errors Luiz Augusto von Dentz
  2010-10-18 14:18 ` [PATCH 2/3] Fix not setting proper errors when canceling suspended requests Luiz Augusto von Dentz
@ 2010-10-18 14:18 ` Luiz Augusto von Dentz
  2010-10-20  8:57 ` [PATCH 1/3] Make use of transfer->err to store transfer errors Johan Hedberg
  2 siblings, 0 replies; 4+ messages in thread
From: Luiz Augusto von Dentz @ 2010-10-18 14:18 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.dentz-von@nokia.com>

==3229== Invalid read of size 4
==3229==    at 0x1D218: obex_object_set_io_flags (in /usr/lib/obex/obexd)
==3229==  Address 0x4c95e9c is 4 bytes inside a block of size 8 free'd
==3229==    at 0x4833E98: free (vg_replace_malloc.c:366)
==3229==    by 0x4910D23: g_free (gmem.c:191)
==3229==    by 0x492B8EF: g_slist_remove (gslist.c:441)
==3229==    by 0x1D15B: ??? (in /usr/lib/obex/obexd)
---
 src/mimetype.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mimetype.c b/src/mimetype.c
index 4a30222..078d97c 100644
--- a/src/mimetype.c
+++ b/src/mimetype.c
@@ -50,9 +50,11 @@ void obex_object_set_io_flags(void *object, int flags, int err)
 {
 	GSList *l;
 
-	for (l = watches; l; l = l->next) {
+	for (l = watches; l;) {
 		struct io_watch *watch = l->data;
 
+		l = l->next;
+
 		if (watch->object != object)
 			continue;
 
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/3] Make use of transfer->err to store transfer errors
  2010-10-18 14:18 [PATCH 1/3] Make use of transfer->err to store transfer errors Luiz Augusto von Dentz
  2010-10-18 14:18 ` [PATCH 2/3] Fix not setting proper errors when canceling suspended requests Luiz Augusto von Dentz
  2010-10-18 14:18 ` [PATCH 3/3] Fix possible invalid read Luiz Augusto von Dentz
@ 2010-10-20  8:57 ` Johan Hedberg
  2 siblings, 0 replies; 4+ messages in thread
From: Johan Hedberg @ 2010-10-20  8:57 UTC (permalink / raw)
  To: Luiz Augusto von Dentz; +Cc: linux-bluetooth

Hi Luiz,

On Mon, Oct 18, 2010, Luiz Augusto von Dentz wrote:
> From: Luiz Augusto von Dentz <luiz.dentz-von@nokia.com>
> 
> ---
>  client/transfer.c |   10 +++++-----
>  1 files changed, 5 insertions(+), 5 deletions(-)

This one and the two other patches have been pushed upstream. Thanks.

Johan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-20  8:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 14:18 [PATCH 1/3] Make use of transfer->err to store transfer errors Luiz Augusto von Dentz
2010-10-18 14:18 ` [PATCH 2/3] Fix not setting proper errors when canceling suspended requests Luiz Augusto von Dentz
2010-10-18 14:18 ` [PATCH 3/3] Fix possible invalid read Luiz Augusto von Dentz
2010-10-20  8:57 ` [PATCH 1/3] Make use of transfer->err to store transfer errors Johan Hedberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox