From: Don Zickus <dzickus@redhat.com>
To: linux-bluetooth@vger.kernel.org
Cc: luiz.von.dentz@intel.com, mkasik@redhat.com,
Don Zickus <dzickus@redhat.com>
Subject: [PATCH 2/3] obexd: Return dummy_data instead of int in phonebook-dummy
Date: Thu, 30 Jun 2016 17:01:28 -0400 [thread overview]
Message-ID: <1467320489-127890-3-git-send-email-dzickus@redhat.com> (raw)
In-Reply-To: <1467320489-127890-1-git-send-email-dzickus@redhat.com>
There are two functions in phonebook-dummy that were returning
'int's instead of 'struct dummy_data'
phonebook_create_cache
phonebook_get_entry
As a result, when an obex-client sends the GetSize command, the obexd
on the server segfaults.
Fix this by storing the id and returning the dummy_data struct.
The GetSize test now passes correctly.
Patch from Marek Kasik <mkasik@redhat.com>
---
obexd/plugins/phonebook-dummy.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/obexd/plugins/phonebook-dummy.c b/obexd/plugins/phonebook-dummy.c
index eeb078f..9ad9cac 100644
--- a/obexd/plugins/phonebook-dummy.c
+++ b/obexd/plugins/phonebook-dummy.c
@@ -538,13 +538,13 @@ void *phonebook_get_entry(const char *folder, const char *id,
dummy->apparams = params;
dummy->fd = fd;
- ret = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, read_entry, dummy,
+ dummy->id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, read_entry, dummy,
dummy_free);
if (err)
*err = 0;
- return GINT_TO_POINTER(ret);
+ return dummy;
}
void *phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb,
@@ -554,6 +554,7 @@ void *phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb,
char *foldername;
DIR *dp;
guint ret;
+ struct dummy_data *dummy;
foldername = g_build_filename(root_folder, name, NULL);
dp = opendir(foldername);
@@ -572,11 +573,13 @@ void *phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb,
query->user_data = user_data;
query->dp = dp;
- ret = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, create_cache, query,
+ dummy = g_new0(struct dummy_data, 1);
+
+ dummy->id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, create_cache, query,
query_free);
if (err)
*err = 0;
- return GINT_TO_POINTER(ret);
+ return dummy;
}
--
1.8.3.1
next prev parent reply other threads:[~2016-06-30 21:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-30 21:01 [PATCH 0/3] obexd fixes Don Zickus
2016-06-30 21:01 ` [PATCH 1/3] obexd: Allow CreateFolder to create a directory Don Zickus
2016-06-30 21:01 ` Don Zickus [this message]
2016-06-30 21:01 ` [PATCH 3/3] obexd: Add a detailed failure message for exchanging business cards Don Zickus
2016-06-30 21:35 ` Bastien Nocera
2016-06-30 22:47 ` Don Zickus
2016-07-04 12:07 ` [PATCH 0/3] obexd fixes Luiz Augusto von Dentz
2016-07-05 14:39 ` Don Zickus
2016-07-06 16:21 ` Don Zickus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1467320489-127890-3-git-send-email-dzickus@redhat.com \
--to=dzickus@redhat.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.von.dentz@intel.com \
--cc=mkasik@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).