diff options
-rw-r--r-- | meta/recipes-connectivity/bluez5/bluez5.inc | 1 | ||||
-rw-r--r-- | meta/recipes-connectivity/bluez5/bluez5/core-profile-Fix-possible-crash-when-registering-pro.patch | 54 | ||||
-rw-r--r-- | meta/recipes-connectivity/bluez5/bluez5_5.36.bb (renamed from meta/recipes-connectivity/bluez5/bluez5_5.33.bb) | 4 |
3 files changed, 57 insertions, 2 deletions
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index 13fd600296..529d5a66f7 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc | |||
@@ -18,6 +18,7 @@ PACKAGECONFIG[experimental] = "--enable-experimental,--disable-experimental," | |||
18 | 18 | ||
19 | SRC_URI = "\ | 19 | SRC_URI = "\ |
20 | ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ | 20 | ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ |
21 | file://core-profile-Fix-possible-crash-when-registering-pro.patch \ | ||
21 | file://init \ | 22 | file://init \ |
22 | " | 23 | " |
23 | S = "${WORKDIR}/bluez-${PV}" | 24 | S = "${WORKDIR}/bluez-${PV}" |
diff --git a/meta/recipes-connectivity/bluez5/bluez5/core-profile-Fix-possible-crash-when-registering-pro.patch b/meta/recipes-connectivity/bluez5/bluez5/core-profile-Fix-possible-crash-when-registering-pro.patch new file mode 100644 index 0000000000..5c6cee1cff --- /dev/null +++ b/meta/recipes-connectivity/bluez5/bluez5/core-profile-Fix-possible-crash-when-registering-pro.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From bc4dbda3362d3654447d8ae6525cac1540b7d705 Mon Sep 17 00:00:00 2001 | ||
2 | From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | ||
3 | Date: Thu, 5 Nov 2015 15:14:50 +0200 | ||
4 | Subject: [PATCH] core/profile: Fix possible crash when registering profiles | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Profiles under ext_profiles are local and should no be mixed with other | ||
9 | external profiles since its type is different which can may cause invalid | ||
10 | memory when accessing member of ext_profile struct. | ||
11 | --- | ||
12 | src/profile.c | 14 ++------------ | ||
13 | 1 file changed, 2 insertions(+), 12 deletions(-) | ||
14 | |||
15 | diff --git a/src/profile.c b/src/profile.c | ||
16 | index 49445d7..5a4f09c 100644 | ||
17 | --- a/src/profile.c | ||
18 | +++ b/src/profile.c | ||
19 | @@ -719,19 +719,13 @@ void btd_profile_foreach(void (*func)(struct btd_profile *p, void *data), | ||
20 | |||
21 | int btd_profile_register(struct btd_profile *profile) | ||
22 | { | ||
23 | - if (profile->external) | ||
24 | - ext_profiles = g_slist_append(ext_profiles, profile); | ||
25 | - else | ||
26 | - profiles = g_slist_append(profiles, profile); | ||
27 | + profiles = g_slist_append(profiles, profile); | ||
28 | return 0; | ||
29 | } | ||
30 | |||
31 | void btd_profile_unregister(struct btd_profile *profile) | ||
32 | { | ||
33 | - if (profile->external) | ||
34 | - ext_profiles = g_slist_remove(ext_profiles, profile); | ||
35 | - else | ||
36 | - profiles = g_slist_remove(profiles, profile); | ||
37 | + profiles = g_slist_remove(profiles, profile); | ||
38 | } | ||
39 | |||
40 | static struct ext_profile *find_ext_profile(const char *owner, | ||
41 | @@ -742,10 +736,6 @@ static struct ext_profile *find_ext_profile(const char *owner, | ||
42 | for (l = ext_profiles; l != NULL; l = g_slist_next(l)) { | ||
43 | struct ext_profile *ext = l->data; | ||
44 | |||
45 | - /* | ||
46 | - * Owner and path can be NULL if profile was registered by a | ||
47 | - * plugin using external flag. | ||
48 | - */ | ||
49 | if (g_strcmp0(ext->owner, owner)) | ||
50 | continue; | ||
51 | |||
52 | -- | ||
53 | 2.5.0 | ||
54 | |||
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.33.bb b/meta/recipes-connectivity/bluez5/bluez5_5.36.bb index 23c7397e16..b94ed31def 100644 --- a/meta/recipes-connectivity/bluez5/bluez5_5.33.bb +++ b/meta/recipes-connectivity/bluez5/bluez5_5.36.bb | |||
@@ -1,6 +1,6 @@ | |||
1 | require bluez5.inc | 1 | require bluez5.inc |
2 | SRC_URI[md5sum] = "78782dc33d9a8b6344c4cc1af70c8a98" | 2 | SRC_URI[md5sum] = "9a0ee479cacc44fac68f6a65b1cd3eba" |
3 | SRC_URI[sha256sum] = "1801807a13506678cbfeb15c6a4b89ecb5739efe1067eb464da6641d731436d3" | 3 | SRC_URI[sha256sum] = "a343ea1aeb53d3bd139087f3b1c1e1fb70db452d9762cc7a3d23e75962e578f2" |
4 | 4 | ||
5 | # noinst programs in Makefile.tools that are conditional on READLINE | 5 | # noinst programs in Makefile.tools that are conditional on READLINE |
6 | # support | 6 | # support |