Commit abde534b authored by Leo's avatar Leo
Browse files

community/connman: fix segfault with musl >= 1.1.21

fixes #10818
parent c14c53c6
Pipeline #353 passed with stages
in 1 minute and 35 seconds
......@@ -2,7 +2,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=connman
pkgver=1.37
pkgrel=0
pkgrel=1
pkgdesc="A daemon for managing internet connections"
url="https://01.org/connman"
arch="all"
......@@ -11,20 +11,18 @@ depends="wpa_supplicant"
makedepends="autoconf automake dbus-dev glib-dev iptables-dev libtool
readline-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
source="https://www.kernel.org/pub/linux/network/connman/$pkgname-$pkgver.tar.xz
source="https://www.kernel.org/pub/linux/network/connman/connman-$pkgver.tar.xz
libresolv.patch
musl.patch
connman.initd
"
builddir="$srcdir"/$pkgname-$pkgver
prepare() {
default_prepare
cd "$builddir"
autoreconf -vif
}
build() {
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
......@@ -38,12 +36,10 @@ build() {
}
check() {
cd "$builddir"
make check
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
install -Dm644 src/main.conf "$pkgdir"/etc/$pkgname/main.conf
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
......@@ -51,4 +47,5 @@ package() {
sha512sums="5d5363105aedd0c9d609dd5c64eb832d9ff80923a944d9d3738337a61f180ded227f2ae1ff7912bed8826b35f0cfd20488e3ffd3801f0e53e90f98498e19efb6 connman-1.37.tar.xz
122b48fc9e25354e25ba3a3e0864bdd84da84457fed94aeea726bcb189b2f05f2cc361ae15f44af5c49bcee572e91e4c0488ef3b0bc79d20f6efe15853fb6b3a libresolv.patch
67dea4bc1ee55ca4b3eb976c3abe0e14d78fc052c102d08c90f63f3d16fc147ba04db391f448908dce7033774672c25af0619ddfc3e6020bfea60dc38b8bd7b4 musl.patch
42b45d44f5eed966ba003683fcb54ffb4e9a0331599ff1c8e5e64c4c06b42d380c3852b7c73881a1be1eaca887906cac9aede1f5579e8e139fdf90ca8d7adf15 connman.initd"
In musl > 1.1.21 freeaddrinfo() implementation changed and
was causing a segmentation fault.
diff --git a/gweb/gweb.c b/gweb/gweb.c
index 393afe0..12fcb1d 100644
--- a/gweb/gweb.c
+++ b/gweb/gweb.c
@@ -1274,7 +1274,8 @@ static bool is_ip_address(const char *host)
addr = NULL;
result = getaddrinfo(host, NULL, &hints, &addr);
- freeaddrinfo(addr);
+ if(!result)
+ freeaddrinfo(addr);
return result == 0;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment