Commit 30ab0ecb authored by Natanael Copa's avatar Natanael Copa
Browse files

main/sipsak: fix segfault with unsupported records in SRV responses

fix a segault that will happen when a DNS response contains an
unsupported RR section. additional AAAA records in SRV response was
enough to trigger it.

This fix will sipsak simply stop parsing the DNS response when it hits
unsupported RR sections.
parent f9a9d461
......@@ -2,7 +2,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=sipsak
pkgver=0.9.6
pkgrel=4
pkgrel=5
pkgdesc="SIP swiss army knife"
url="http://sipsak.org/"
arch="all"
......@@ -15,6 +15,7 @@ source="http://downloads.sourceforge.net/project/sipsak.berlios/${pkgname}-${pkg
musl-fix-strcasestr.patch
fix-off-by-one-bugs.patch
sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch
fix-aaaa-record-segfault.patch
"
_builddir="$srcdir"/$pkgname-$pkgver
......@@ -50,12 +51,15 @@ package() {
md5sums="c4eb8e282902e75f4f040f09ea9d99d5 sipsak-0.9.6-1.tar.gz
fd7aa34ef656fc40b7ff186a670b4b60 musl-fix-strcasestr.patch
8fa15fbeadba6d319ae6bfbbb85b1bf7 fix-off-by-one-bugs.patch
b4d16490aa1344301da4d3b551cee261 sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch"
b4d16490aa1344301da4d3b551cee261 sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch
1edea99339c3835f41db56365d4075e8 fix-aaaa-record-segfault.patch"
sha256sums="5064c56d482a080b6a4aea71821b78c21b59d44f6d1aa14c27429441917911a9 sipsak-0.9.6-1.tar.gz
98fbef70fa537a6c46f5641392b19d074ccc0d2c6e71bb903c69a7940dbab3cd musl-fix-strcasestr.patch
bc05de62df8a24492ce6d74f5ce1ec7149db5b7b56bbec941bdc6db038027fe9 fix-off-by-one-bugs.patch
72a57b34d34e0e68c224e9dfe4e1bc1b8e4631217fb90c3b935fbd9c20f1687e sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch"
72a57b34d34e0e68c224e9dfe4e1bc1b8e4631217fb90c3b935fbd9c20f1687e sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch
5a5bba2fe9d069a6d91efdb7299e03d4483254e11ce43e0fc6468335c30b70e3 fix-aaaa-record-segfault.patch"
sha512sums="c2d62ddaf2ecc9616941cf002a0494d2f9c43747e6b527f8b1542e9b5ae143fc69b18fc140bd3f255896b0e8eb02f7d198cc1799a4041e2d0c95d90b653591fe sipsak-0.9.6-1.tar.gz
5a9f2679ef8b5e7a7d2db79e32c2a9ca304bd507804d86628231ad273cc08810bf3470f2b3fb5e873279d619669917f81fbf9bdfe74e83e3dfa6451aa4b62e85 musl-fix-strcasestr.patch
4f4978924482d9d8b4a1167bf968cec8c3e705ea81cd8fe4b83873f408684d43cc166d0eeeb20f7a459ff9e02ddb0cac08644d5d6f77629557d07f96f9634605 fix-off-by-one-bugs.patch
1bfd9703029cc5e0b8bd5719d96871358c33412982a39bb1f8204ed68cd472ee3bbdee7924d4cd8f48e33299659c484709c7c347629f3771707f5e23d8eb2b2f sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch"
1bfd9703029cc5e0b8bd5719d96871358c33412982a39bb1f8204ed68cd472ee3bbdee7924d4cd8f48e33299659c484709c7c347629f3771707f5e23d8eb2b2f sipsak-0001-Fix-for-wrong-arity-of-callback-function-for-c-ares.patch
6e60e023feef1c36d4e45426568142e8aed5bcc5f91509a610dc3b0dd507677aa7a978ae2573f3f8c93f228cb415e79d92eddd6fc544897606b597d0a44aab6b fix-aaaa-record-segfault.patch"
--- ./helper.c.orig 2015-03-17 15:34:48.109903801 -0100
+++ ./helper.c 2015-03-17 16:08:02.954490213 -0100
@@ -284,6 +284,8 @@
aptr = parse_rr(aptr, abuf, alen);
else
aptr = skip_rr(aptr, abuf, alen);
+ if (aptr == NULL)
+ return;
}
if (caadr == 0) {
for (i = 0; i < nscount; i++) {
@@ -291,6 +293,8 @@
}
for (i = 0; i < arcount && caadr == 0; i++) {
aptr = parse_rr(aptr, abuf, alen);
+ if (aptr == NULL)
+ return;
}
}
}
Supports Markdown
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