diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-06-03 10:25:28 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-06-03 10:26:58 +0300 |
commit | 72dfeb01ba1e25b20d8c063aef48a8e34c45e162 (patch) | |
tree | 0650b8c79028107a233c568f806e74f7e80c960b | |
parent | 010ee3097b80bbd2fe64f0b420f942cb4507d266 (diff) | |
download | alpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.tar.bz2 alpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.tar.xz alpine_aports-72dfeb01ba1e25b20d8c063aef48a8e34c45e162.zip |
main/musl: upgrade to git snapshot of 2014-06-03
-rw-r--r-- | main/musl/0002-76f440cf-to-d85d261e.patch | 89 | ||||
-rw-r--r-- | main/musl/APKBUILD | 6 |
2 files changed, 94 insertions, 1 deletions
diff --git a/main/musl/0002-76f440cf-to-d85d261e.patch b/main/musl/0002-76f440cf-to-d85d261e.patch new file mode 100644 index 0000000000..67e2e46ed5 --- /dev/null +++ b/main/musl/0002-76f440cf-to-d85d261e.patch | |||
@@ -0,0 +1,89 @@ | |||
1 | diff --git a/src/multibyte/wcsrtombs.c b/src/multibyte/wcsrtombs.c | ||
2 | index 5cf8f3e..30be415 100644 | ||
3 | --- a/src/multibyte/wcsrtombs.c | ||
4 | +++ b/src/multibyte/wcsrtombs.c | ||
5 | @@ -21,8 +21,13 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat | ||
6 | } | ||
7 | return n; | ||
8 | } | ||
9 | - while (n>=4 && **ws) { | ||
10 | - if (**ws >= 0x80u) { | ||
11 | + while (n>=4) { | ||
12 | + if (**ws-1u >= 0x7fu) { | ||
13 | + if (!**ws) { | ||
14 | + *s = 0; | ||
15 | + *ws = 0; | ||
16 | + return N-n; | ||
17 | + } | ||
18 | l = wcrtomb(s, **ws, 0); | ||
19 | if (!(l+1)) return -1; | ||
20 | s += l; | ||
21 | @@ -33,8 +38,13 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat | ||
22 | } | ||
23 | (*ws)++; | ||
24 | } | ||
25 | - while (n && **ws) { | ||
26 | - if (**ws >= 0x80u) { | ||
27 | + while (n) { | ||
28 | + if (**ws-1u >= 0x7fu) { | ||
29 | + if (!**ws) { | ||
30 | + *s = 0; | ||
31 | + *ws = 0; | ||
32 | + return N-n; | ||
33 | + } | ||
34 | l = wcrtomb(buf, **ws, 0); | ||
35 | if (!(l+1)) return -1; | ||
36 | if (l>n) return N-n; | ||
37 | @@ -47,7 +57,5 @@ size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstat | ||
38 | } | ||
39 | (*ws)++; | ||
40 | } | ||
41 | - if (n) *s = 0; | ||
42 | - *ws = 0; | ||
43 | - return N-n; | ||
44 | + return N; | ||
45 | } | ||
46 | diff --git a/src/network/dns_parse.c b/src/network/dns_parse.c | ||
47 | index aa0d39f..0c7a601 100644 | ||
48 | --- a/src/network/dns_parse.c | ||
49 | +++ b/src/network/dns_parse.c | ||
50 | @@ -6,6 +6,7 @@ int __dns_parse(const unsigned char *r, int rlen, int (*callback)(void *, int, c | ||
51 | const unsigned char *p; | ||
52 | int len; | ||
53 | |||
54 | + if (rlen<12) return -1; | ||
55 | if ((r[3]&15)) return 0; | ||
56 | p = r+12; | ||
57 | qdcount = r[4]*256 + r[5]; | ||
58 | @@ -13,13 +14,13 @@ int __dns_parse(const unsigned char *r, int rlen, int (*callback)(void *, int, c | ||
59 | if (qdcount+ancount > 64) return -1; | ||
60 | while (qdcount--) { | ||
61 | while (p-r < rlen && *p-1U < 127) p++; | ||
62 | - if (*p>193 || (*p==193 && p[1]>254) || p>r+506) | ||
63 | + if (*p>193 || (*p==193 && p[1]>254) || p>r+rlen-6) | ||
64 | return -1; | ||
65 | p += 5 + !!*p; | ||
66 | } | ||
67 | while (ancount--) { | ||
68 | while (p-r < rlen && *p-1U < 127) p++; | ||
69 | - if (*p>193 || (*p==193 && p[1]>254) || p>r+506) | ||
70 | + if (*p>193 || (*p==193 && p[1]>254) || p>r+rlen-6) | ||
71 | return -1; | ||
72 | p += 1 + !!*p; | ||
73 | len = p[8]*256 + p[9]; | ||
74 | diff --git a/src/network/lookup_name.c b/src/network/lookup_name.c | ||
75 | index 8d41627..0292093 100644 | ||
76 | --- a/src/network/lookup_name.c | ||
77 | +++ b/src/network/lookup_name.c | ||
78 | @@ -151,7 +151,10 @@ static int name_from_dns(struct address buf[static MAXADDRS], char canon[static | ||
79 | for (i=0; i<nq; i++) | ||
80 | __dns_parse(abuf[i], alens[i], dns_parse_callback, &ctx); | ||
81 | |||
82 | - return ctx.cnt; | ||
83 | + if (ctx.cnt) return ctx.cnt; | ||
84 | + if (alens[0] < 4 || (abuf[0][3] & 15) == 2) return EAI_AGAIN; | ||
85 | + if ((abuf[0][3] & 15) == 3) return EAI_NONAME; | ||
86 | + return EAI_FAIL; | ||
87 | } | ||
88 | |||
89 | int __lookup_name(struct address buf[static MAXADDRS], char canon[static 256], const char *name, int family, int flags) | ||
diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD index f44f100d7c..12a2f43857 100644 --- a/main/musl/APKBUILD +++ b/main/musl/APKBUILD | |||
@@ -2,7 +2,7 @@ | |||
2 | # Maintainer: Timo Teräs <timo.teras@iki.fi> | 2 | # Maintainer: Timo Teräs <timo.teras@iki.fi> |
3 | pkgname=musl | 3 | pkgname=musl |
4 | pkgver=1.1.1 | 4 | pkgver=1.1.1 |
5 | pkgrel=1 | 5 | pkgrel=2 |
6 | pkgdesc="the musl c library (libc) implementation" | 6 | pkgdesc="the musl c library (libc) implementation" |
7 | url="http://www.musl-libc.org/" | 7 | url="http://www.musl-libc.org/" |
8 | arch="all" | 8 | arch="all" |
@@ -14,6 +14,7 @@ install="" | |||
14 | subpackages="$pkgname-dev $pkgname-utils" | 14 | subpackages="$pkgname-dev $pkgname-utils" |
15 | source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz | 15 | source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz |
16 | 0001-v1.1.1-to-76f440cf.patch | 16 | 0001-v1.1.1-to-76f440cf.patch |
17 | 0002-76f440cf-to-d85d261e.patch | ||
17 | 1001-add-basic-dns-record-parsing-functions.patch | 18 | 1001-add-basic-dns-record-parsing-functions.patch |
18 | 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch | 19 | 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch |
19 | 1003-implement-y-and-C-specifiers-in-strptime.patch | 20 | 1003-implement-y-and-C-specifiers-in-strptime.patch |
@@ -120,6 +121,7 @@ utils() { | |||
120 | 121 | ||
121 | md5sums="dbc08d311148e095016d9bbf6c7ffda6 musl-1.1.1.tar.gz | 122 | md5sums="dbc08d311148e095016d9bbf6c7ffda6 musl-1.1.1.tar.gz |
122 | d4a40fe1656115b2956065ab48e0b372 0001-v1.1.1-to-76f440cf.patch | 123 | d4a40fe1656115b2956065ab48e0b372 0001-v1.1.1-to-76f440cf.patch |
124 | 0b0dce47217fe25eeb82a7f70e15629f 0002-76f440cf-to-d85d261e.patch | ||
123 | a3810683ef61ac27e2f6ec9801280c81 1001-add-basic-dns-record-parsing-functions.patch | 125 | a3810683ef61ac27e2f6ec9801280c81 1001-add-basic-dns-record-parsing-functions.patch |
124 | 83c3bd2a50b1de5ef948704d3f4e0583 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch | 126 | 83c3bd2a50b1de5ef948704d3f4e0583 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch |
125 | fc3feec4104a4b25781df92dd96b9eec 1003-implement-y-and-C-specifiers-in-strptime.patch | 127 | fc3feec4104a4b25781df92dd96b9eec 1003-implement-y-and-C-specifiers-in-strptime.patch |
@@ -132,6 +134,7 @@ cb82d21fed17a116b44b830adba71c5a getconf.c | |||
132 | 45f92f8d59cf84d765de698a9578dbf4 iconv.c" | 134 | 45f92f8d59cf84d765de698a9578dbf4 iconv.c" |
133 | sha256sums="9dd75d6512e44d5a13254e246db56c90365894b05bab2b1127e44a31e4fd7c36 musl-1.1.1.tar.gz | 135 | sha256sums="9dd75d6512e44d5a13254e246db56c90365894b05bab2b1127e44a31e4fd7c36 musl-1.1.1.tar.gz |
134 | 40f241a8aa59621d8a9e6a616df27c38e0a622243bf7346cc98ec1c37454e92a 0001-v1.1.1-to-76f440cf.patch | 136 | 40f241a8aa59621d8a9e6a616df27c38e0a622243bf7346cc98ec1c37454e92a 0001-v1.1.1-to-76f440cf.patch |
137 | d0f4dbc8f0e72df02fcb12e75f829d50909c6da222a5f6a13a0e0c991f91d56e 0002-76f440cf-to-d85d261e.patch | ||
135 | 758390768b1bc4159d56908ca332b9640cd0552ed3b4b2b8d4a6d499c54c11a1 1001-add-basic-dns-record-parsing-functions.patch | 138 | 758390768b1bc4159d56908ca332b9640cd0552ed3b4b2b8d4a6d499c54c11a1 1001-add-basic-dns-record-parsing-functions.patch |
136 | 1c25880095e869b827f02997e864fdf4bf157a4e923e52d97dbd05e657aedb70 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch | 139 | 1c25880095e869b827f02997e864fdf4bf157a4e923e52d97dbd05e657aedb70 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch |
137 | c22338bc33e8c0c22b280c392b37a0903e13562e671f5ebade09ed5b1d33e2ae 1003-implement-y-and-C-specifiers-in-strptime.patch | 140 | c22338bc33e8c0c22b280c392b37a0903e13562e671f5ebade09ed5b1d33e2ae 1003-implement-y-and-C-specifiers-in-strptime.patch |
@@ -144,6 +147,7 @@ d9b644ec20bc33e81a7c52b9fcf7973d835923a69faf50f03db45534b811bd96 getopt_long.c | |||
144 | f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c" | 147 | f79a2930a2e5bb0624321589edf8b889d1e9b603e01e6b7ae214616605b3fdd7 iconv.c" |
145 | sha512sums="5182deb80a35c8a4009d71098c95a16e5ab9bd03186443917652f0c521d2980183e203256493a69e8230b6a0c4848ca8e44de9e8c851a511cd37d0d41f91b14f musl-1.1.1.tar.gz | 148 | sha512sums="5182deb80a35c8a4009d71098c95a16e5ab9bd03186443917652f0c521d2980183e203256493a69e8230b6a0c4848ca8e44de9e8c851a511cd37d0d41f91b14f musl-1.1.1.tar.gz |
146 | 30906a5f7a01ff05693e5a2e72f6c7e75ff7939c28a32b9e777d14d59412bb9df603a09aa8dd693e9a0b70525474a62f7bc657425032a3a5f4b339667e6f62ec 0001-v1.1.1-to-76f440cf.patch | 149 | 30906a5f7a01ff05693e5a2e72f6c7e75ff7939c28a32b9e777d14d59412bb9df603a09aa8dd693e9a0b70525474a62f7bc657425032a3a5f4b339667e6f62ec 0001-v1.1.1-to-76f440cf.patch |
150 | 358f3828367f5a86806ce5be5842c2be44c1a7919133ab83a7c549bc55be847fee2a938c201782db771ff6a5a994cab6ee7c2050f6ae564f4993c0b3825faa36 0002-76f440cf-to-d85d261e.patch | ||
147 | dad965258daf69371b844f76bfe5a914b0eca0ca76f3fc340b8fd7acf598b5f87bbe6d68b1f43ed0293ee0ed3bfd85d5173ccc169aa6265646248d5b8a906708 1001-add-basic-dns-record-parsing-functions.patch | 151 | dad965258daf69371b844f76bfe5a914b0eca0ca76f3fc340b8fd7acf598b5f87bbe6d68b1f43ed0293ee0ed3bfd85d5173ccc169aa6265646248d5b8a906708 1001-add-basic-dns-record-parsing-functions.patch |
148 | 72cf33738d2cf31f6ec02312bc494d754c17470b519172bb8bd7e2e29ac3b119023088a2b3fbc0dbc2fddd0078ccbae62096106cae361f8c31d6a9950043af25 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch | 152 | 72cf33738d2cf31f6ec02312bc494d754c17470b519172bb8bd7e2e29ac3b119023088a2b3fbc0dbc2fddd0078ccbae62096106cae361f8c31d6a9950043af25 1002-reimplement-if_nameindex-and-getifaddrs-using-netlin.patch |
149 | 48082d2348de40bc6b455266c5552a62e1e75f926e69116c61c8a3cb35fefdff136dc771bf25ee7d43c959834921221112ed7afcc45fcadbcf07562510786916 1003-implement-y-and-C-specifiers-in-strptime.patch | 153 | 48082d2348de40bc6b455266c5552a62e1e75f926e69116c61c8a3cb35fefdff136dc771bf25ee7d43c959834921221112ed7afcc45fcadbcf07562510786916 1003-implement-y-and-C-specifiers-in-strptime.patch |