diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index baa5904..5b580d3 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
os->offset = 0;
os->size = OBJECT_SIZE_DELETE;
os->headers_sent = FALSE;
+ os->checked = FALSE;
}
static void obex_session_free(struct obex_session *os)
if (err != NULL) {
error("transfer failed: %s\n", err->message);
- return;
+ goto reset;
}
if (os->object && os->driver && os->driver->flush) {
g_obex_suspend(os->obex);
os->driver->set_io_watch(os->object, handle_async_io,
os);
+ return;
}
}
+
+reset:
+ os_reset_session(os);
}
static int driver_get_headers(struct obex_session *os)