diff --git a/obexd/client/transfer.c b/obexd/client/transfer.c
index 373e4e4..b85f2fb 100644
--- a/obexd/client/transfer.c
+++ b/obexd/client/transfer.c
session_unref(session);
- g_free(transfer->params);
+ if (transfer->params != NULL) {
+ g_free(transfer->params->data);
+ g_free(transfer->params);
+ }
+
g_free(transfer->callback);
g_free(transfer->filename);
g_free(transfer->name);
bsize = transfer->buffer_len - transfer->filled;
if (bsize < 1) {
transfer->buffer_len += DEFAULT_BUFFER_SIZE;
- transfer->buffer = g_realloc(transfer->buffer, transfer->buffer_len);
+ transfer->buffer = g_realloc(transfer->buffer,
+ transfer->buffer_len);
}
transfer->buffer[transfer->filled] = '\0';
return -EALREADY;
if (g_strcmp0(transfer->type, "x-bt/vcard-listing") == 0 ||
+ g_strcmp0(transfer->type, "x-bt/phonebook") == 0 ||
g_strcmp0(transfer->type, "x-obex/folder-listing") == 0)
cb = get_xfer_listing_progress;
else {
int fd = open(transfer->name ? : transfer->filename,
O_WRONLY | O_CREAT, 0600);
- if (transfer->fd < 0) {
+ if (fd < 0) {
error("open(): %s(%d)", strerror(errno), errno);
return -errno;
}
diff --git a/obexd/client/transfer.h b/obexd/client/transfer.h
index dc0f3a4..500232b 100644
--- a/obexd/client/transfer.h
+++ b/obexd/client/transfer.h
#include <gw-obex.h>
struct transfer_params {
- const guint8 *data;
+ guint8 *data;
gint size;
};