[arch-commits] Commit in bluez/trunk (2 files)
Andreas Radke
andyrtr at archlinux.org
Mon Feb 8 11:48:09 UTC 2021
Date: Monday, February 8, 2021 @ 11:48:09
Author: andyrtr
Revision: 407647
upgpkg: bluez 5.55-2: fix one segfault - FS#68671
Added:
bluez/trunk/fix_crash_when_SEP_codec_has_not_been_initialized.patch
Modified:
bluez/trunk/PKGBUILD
---------------------------------------------------------+
PKGBUILD | 12 ++-
fix_crash_when_SEP_codec_has_not_been_initialized.patch | 45 ++++++++++++++
2 files changed, 53 insertions(+), 4 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-02-08 11:11:38 UTC (rev 407646)
+++ PKGBUILD 2021-02-08 11:48:09 UTC (rev 407647)
@@ -5,22 +5,26 @@
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
pkgver=5.55
-pkgrel=1
+pkgrel=2
url="http://www.bluez.org/"
arch=('x86_64')
license=('GPL2')
makedepends=('dbus' 'libical' 'systemd' 'alsa-lib' 'json-c' 'ell')
source=(https://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
+ fix_crash_when_SEP_codec_has_not_been_initialized.patch
bluetooth.modprobe)
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
sha256sums=('8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88'
'SKIP'
+ 'bc0a37ebea3f7e14d23a3a49964ee189bf4f79b96f839c754106dc73a7dfb6e9'
'46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel at holtmann.org>
-#prepare() {
-# cd "${pkgname}"-${pkgver}
-#}
+prepare() {
+ cd "${pkgname}"-${pkgver}
+ # FS#68671 - fix a segfault
+ patch -Np1 -i ../fix_crash_when_SEP_codec_has_not_been_initialized.patch
+}
build() {
cd "${pkgname}"-${pkgver}
Added: fix_crash_when_SEP_codec_has_not_been_initialized.patch
===================================================================
--- fix_crash_when_SEP_codec_has_not_been_initialized.patch (rev 0)
+++ fix_crash_when_SEP_codec_has_not_been_initialized.patch 2021-02-08 11:48:09 UTC (rev 407647)
@@ -0,0 +1,45 @@
+From 326d70edd99c3f21cf299dba55214e2c8957e622 Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz at intel.com>
+Date: Mon, 23 Nov 2020 10:20:06 -0800
+Subject: [PATCH] a2dp: Fix crash when SEP codec has not been initialized
+
+If SEP has not been properly discovered avdtp_get_codec may return NULL
+thus causing crashes such as:
+
+https://github.com/bluez/bluez/issues/57
+---
+ profiles/audio/a2dp.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
+index 59d11a0aa..f1e4fa990 100644
+--- a/profiles/audio/a2dp.c
++++ b/profiles/audio/a2dp.c
+@@ -1887,8 +1887,8 @@ static void register_remote_sep(void *data, void *user_data)
+ sep, remote_sep_free) == FALSE) {
+ error("Could not register remote sep %s", sep->path);
+ free(sep->path);
+- sep->path = NULL;
+- goto done;
++ free(sep);
++ return;
+ }
+
+ DBG("Found remote SEP: %s", sep->path);
+@@ -2627,10 +2627,15 @@ static void store_remote_sep(void *data, void *user_data)
+ GKeyFile *key_file = user_data;
+ char seid[4], value[256];
+ struct avdtp_service_capability *service = avdtp_get_codec(sep->sep);
+- struct avdtp_media_codec_capability *codec = (void *) service->data;
++ struct avdtp_media_codec_capability *codec;
+ unsigned int i;
+ ssize_t offset;
+
++ if (!service)
++ return;
++
++ codec = (void *) service->data;
++
+ sprintf(seid, "%02hhx", avdtp_get_seid(sep->sep));
+
+ offset = sprintf(value, "%02hhx:%02hhx:%02hhx:",
More information about the arch-commits
mailing list