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 |
