summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuminul Islam <misla011@fiu.edu>2019-10-11 19:21:51 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-10-15 15:54:01 +0100
commit507434199d6ba699045692cef441931fa384b6dc (patch)
treef742f5232edc63ffd8f899039e68897912e13faa
parentab318acf535fe20c52bdde2e7f3fc17b1dc22dbd (diff)
downloadpoky-507434199d6ba699045692cef441931fa384b6dc.tar.gz
libsolv: Security fix for CVEs: <CVE-2018-20532, CVE-2018-20533, CVE-2018-20534>
(From OE-Core rev: 82a9850d6ef8cca816f9e0a53a8d20b056f95320) Signed-off-by: Muminul Islam <muislam@microsoft.com> CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534 Upstream-Status: Backport Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0003-Fix-Dereference-of-null-pointer.patch33
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0004-Fix-Add-va_end-before-return.patch36
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0005-Fix-Memory-leaks.patch158
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0006-Fix-testsolv-segfault.patch41
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0007-Fix-testsolv-segfaults.patch47
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0008-Fix-Be-sure-that-NONBLOCK-is-set.patch37
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0009-Don-t-set-values-that-are-never-read.patch113
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.6.35.bb7
8 files changed, 472 insertions, 0 deletions
diff --git a/meta/recipes-extended/libsolv/libsolv/0003-Fix-Dereference-of-null-pointer.patch b/meta/recipes-extended/libsolv/libsolv/0003-Fix-Dereference-of-null-pointer.patch
new file mode 100644
index 0000000000..b10fd82770
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0003-Fix-Dereference-of-null-pointer.patch
@@ -0,0 +1,33 @@
1From fcd9e3aba122a220af617a802c4f47bad4b51e64 Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Fri, 7 Dec 2018 07:05:10 +0100
4Subject: [PATCH] Fix: Dereference of null pointer
5Reply-To: muislam@microsoft.com
6CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
7
8Upstream-Status: Backport
9
10Signed-off-by: Muminul Islam <muislam@microsoft.com>
11
12Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
13
14---
15 ext/repo_repomdxml.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/ext/repo_repomdxml.c b/ext/repo_repomdxml.c
19index 760d481f..b2a5b8dd 100644
20--- a/ext/repo_repomdxml.c
21+++ b/ext/repo_repomdxml.c
22@@ -181,7 +181,7 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
23 while (value)
24 {
25 char *p = strchr(value, ',');
26- if (*p)
27+ if (p)
28 *p++ = 0;
29 if (*value)
30 repodata_add_poolstr_array(pd->data, SOLVID_META, REPOSITORY_UPDATES, value);
31--
322.23.0
33
diff --git a/meta/recipes-extended/libsolv/libsolv/0004-Fix-Add-va_end-before-return.patch b/meta/recipes-extended/libsolv/libsolv/0004-Fix-Add-va_end-before-return.patch
new file mode 100644
index 0000000000..fde19940ed
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0004-Fix-Add-va_end-before-return.patch
@@ -0,0 +1,36 @@
1From 58053b44c9ed043d48fa7dd595d213849b733f0f Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 09:50:06 +0100
4Subject: [PATCH] Fix: Add va_end() before return
5Reply-To: muislam@microsoft.com
6
7The va_end() performs cleanup.
8If va_end() is not called before a function that calls va_start() returns,
9the behavior is undefined.
10
11CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
12
13Upstream-Status: Backport
14
15Signed-off-by: Muminul Islam <muislam@microsoft.com>
16
17Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
18---
19 src/pool.c | 1 +
20 1 file changed, 1 insertion(+)
21
22diff --git a/src/pool.c b/src/pool.c
23index 60cc0f49..f03b43f9 100644
24--- a/src/pool.c
25+++ b/src/pool.c
26@@ -1505,6 +1505,7 @@ pool_debug(Pool *pool, int type, const char *format, ...)
27 vprintf(format, args);
28 else
29 vfprintf(stderr, format, args);
30+ va_end(args);
31 return;
32 }
33 vsnprintf(buf, sizeof(buf), format, args);
34--
352.23.0
36
diff --git a/meta/recipes-extended/libsolv/libsolv/0005-Fix-Memory-leaks.patch b/meta/recipes-extended/libsolv/libsolv/0005-Fix-Memory-leaks.patch
new file mode 100644
index 0000000000..85398a82ec
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0005-Fix-Memory-leaks.patch
@@ -0,0 +1,158 @@
1From 6c99f33252d8bf8ff3e49013b8ad78aacf71c5d8 Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 10:14:04 +0100
4Subject: [PATCH] Fix: Memory leaks
5Reply-To: muislam@microsoft.com
6
7CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
8
9Upstream-Status: Backport
10
11Signed-off-by: Muminul Islam <muislam@microsoft.com>
12
13Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
14---
15 ext/repo_rpmdb.c | 16 ++++++++++++++++
16 ext/testcase.c | 4 ++++
17 tools/repo2solv.c | 1 +
18 3 files changed, 21 insertions(+)
19
20diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
21index 75bb6780..ff939978 100644
22--- a/ext/repo_rpmdb.c
23+++ b/ext/repo_rpmdb.c
24@@ -1939,6 +1939,8 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
25 if (fread(lead, 96 + 16, 1, fp) != 1 || getu32(lead) != 0xedabeedb)
26 {
27 pool_error(pool, -1, "%s: not a rpm", rpm);
28+ solv_chksum_free(leadsigchksumh, NULL);
29+ solv_chksum_free(chksumh, NULL);
30 fclose(fp);
31 return 0;
32 }
33@@ -1951,12 +1953,16 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
34 if (lead[78] != 0 || lead[79] != 5)
35 {
36 pool_error(pool, -1, "%s: not a rpm v5 header", rpm);
37+ solv_chksum_free(leadsigchksumh, NULL);
38+ solv_chksum_free(chksumh, NULL);
39 fclose(fp);
40 return 0;
41 }
42 if (getu32(lead + 96) != 0x8eade801)
43 {
44 pool_error(pool, -1, "%s: bad signature header", rpm);
45+ solv_chksum_free(leadsigchksumh, NULL);
46+ solv_chksum_free(chksumh, NULL);
47 fclose(fp);
48 return 0;
49 }
50@@ -1965,6 +1971,8 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
51 if (sigcnt >= MAX_SIG_CNT || sigdsize >= MAX_SIG_DSIZE)
52 {
53 pool_error(pool, -1, "%s: bad signature header", rpm);
54+ solv_chksum_free(leadsigchksumh, NULL);
55+ solv_chksum_free(chksumh, NULL);
56 fclose(fp);
57 return 0;
58 }
59@@ -1975,6 +1983,8 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
60 {
61 if (!headfromfp(&state, rpm, fp, lead + 96, sigcnt, sigdsize, sigpad, chksumh, leadsigchksumh))
62 {
63+ solv_chksum_free(leadsigchksumh, NULL);
64+ solv_chksum_free(chksumh, NULL);
65 fclose(fp);
66 return 0;
67 }
68@@ -2014,6 +2024,8 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
69 if (fread(lead, l, 1, fp) != 1)
70 {
71 pool_error(pool, -1, "%s: unexpected EOF", rpm);
72+ solv_chksum_free(leadsigchksumh, NULL);
73+ solv_chksum_free(chksumh, NULL);
74 fclose(fp);
75 return 0;
76 }
77@@ -2034,6 +2046,7 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
78 if (fread(lead, 16, 1, fp) != 1)
79 {
80 pool_error(pool, -1, "%s: unexpected EOF", rpm);
81+ solv_chksum_free(chksumh, NULL);
82 fclose(fp);
83 return 0;
84 }
85@@ -2042,6 +2055,7 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
86 if (getu32(lead) != 0x8eade801)
87 {
88 pool_error(pool, -1, "%s: bad header", rpm);
89+ solv_chksum_free(chksumh, NULL);
90 fclose(fp);
91 return 0;
92 }
93@@ -2050,6 +2064,7 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
94 if (sigcnt >= MAX_HDR_CNT || sigdsize >= MAX_HDR_DSIZE)
95 {
96 pool_error(pool, -1, "%s: bad header", rpm);
97+ solv_chksum_free(chksumh, NULL);
98 fclose(fp);
99 return 0;
100 }
101@@ -2057,6 +2072,7 @@ repo_add_rpm(Repo *repo, const char *rpm, int flags)
102
103 if (!headfromfp(&state, rpm, fp, lead, sigcnt, sigdsize, 0, chksumh, 0))
104 {
105+ solv_chksum_free(chksumh, NULL);
106 fclose(fp);
107 return 0;
108 }
109diff --git a/ext/testcase.c b/ext/testcase.c
110index aa72a8d7..3901d90d 100644
111--- a/ext/testcase.c
112+++ b/ext/testcase.c
113@@ -2348,6 +2348,7 @@ testcase_write_mangled(Solver *solv, const char *dir, int resultflags, const cha
114 if (fclose(fp))
115 {
116 pool_error(solv->pool, 0, "testcase_write: write error");
117+ solv_free(result);
118 strqueue_free(&sq);
119 return 0;
120 }
121@@ -2360,12 +2361,14 @@ testcase_write_mangled(Solver *solv, const char *dir, int resultflags, const cha
122 if (!(fp = fopen(out, "w")))
123 {
124 pool_error(solv->pool, 0, "testcase_write: could not open '%s' for writing", out);
125+ solv_free(cmd);
126 strqueue_free(&sq);
127 return 0;
128 }
129 if (*cmd && fwrite(cmd, strlen(cmd), 1, fp) != 1)
130 {
131 pool_error(solv->pool, 0, "testcase_write: write error");
132+ solv_free(cmd);
133 strqueue_free(&sq);
134 fclose(fp);
135 return 0;
136@@ -2373,6 +2376,7 @@ testcase_write_mangled(Solver *solv, const char *dir, int resultflags, const cha
137 if (fclose(fp))
138 {
139 pool_error(solv->pool, 0, "testcase_write: write error");
140+ solv_free(cmd);
141 strqueue_free(&sq);
142 return 0;
143 }
144diff --git a/tools/repo2solv.c b/tools/repo2solv.c
145index e055e408..30a41f42 100644
146--- a/tools/repo2solv.c
147+++ b/tools/repo2solv.c
148@@ -208,6 +208,7 @@ read_plaindir_repo(Repo *repo, const char *dir)
149 repodata_set_location(data, p, 0, 0, bp[0] == '.' && bp[1] == '/' ? bp + 2 : bp);
150 solv_free(rpm);
151 }
152+ solv_free(buf);
153 fclose(fp);
154 while (waitpid(pid, &wstatus, 0) == -1)
155 {
156--
1572.23.0
158
diff --git a/meta/recipes-extended/libsolv/libsolv/0006-Fix-testsolv-segfault.patch b/meta/recipes-extended/libsolv/libsolv/0006-Fix-testsolv-segfault.patch
new file mode 100644
index 0000000000..559aefb1ec
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0006-Fix-testsolv-segfault.patch
@@ -0,0 +1,41 @@
1From 823bf65087a017d2f488f01e09ee284fa36f7446 Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 10:22:09 +0100
4Subject: [PATCH] Fix: testsolv segfault
5Reply-To: muislam@microsoft.com
6
7ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fab0e11bf2b bp 0x7ffdfc044b70 sp 0x7ffdfc044a90 T0)
80 0x7fab0e11bf2a in testcase_str2dep_complex /home/company/real_sanitize/libsolv-master/ext/testcase.c:577
91 0x7fab0e11c80f in testcase_str2dep /home/company/real_sanitize/libsolv-master/ext/testcase.c:656
102 0x7fab0e12e64a in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2952
113 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
124 0x7fab0d9d2a3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
135 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
14
15CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
16
17Upstream-Status: Backport
18
19Signed-off-by: Muminul Islam <muislam@microsoft.com>
20
21Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
22---
23 ext/testcase.c | 2 ++
24 1 file changed, 2 insertions(+)
25
26diff --git a/ext/testcase.c b/ext/testcase.c
27index 3901d90d..dd20de14 100644
28--- a/ext/testcase.c
29+++ b/ext/testcase.c
30@@ -571,6 +571,8 @@ testcase_str2dep_complex(Pool *pool, const char **sp, int relop)
31 Id flags, id, id2, namespaceid = 0;
32 struct oplist *op;
33
34+ if (!s)
35+ return 0;
36 while (*s == ' ' || *s == '\t')
37 s++;
38 if (!strncmp(s, "namespace:", 10))
39--
402.23.0
41
diff --git a/meta/recipes-extended/libsolv/libsolv/0007-Fix-testsolv-segfaults.patch b/meta/recipes-extended/libsolv/libsolv/0007-Fix-testsolv-segfaults.patch
new file mode 100644
index 0000000000..5c13ce5e9d
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0007-Fix-testsolv-segfaults.patch
@@ -0,0 +1,47 @@
1From 43928ee565b9c4f69daa1875da66f92b2d5bf932 Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 10:27:15 +0100
4Subject: [PATCH] Fix: testsolv segfaults
5Reply-To: muislam@microsoft.com
6
7ERROR: AddressSanitizer: SEGV on unknown address 0x0000000002f0 (pc 0x7f31501d3bd2 bp 0x7ffcfe4d4a50 sp 0x7ffcfe4d4a30 T0)
80 0x7f31501d3bd1 in pool_whatprovides /home/company/real_sanitize/libsolv-master/src/pool.h:331
91 0x7f31501d895e in testcase_str2solvid /home/company/real_sanitize/libsolv-master/ext/testcase.c:793
102 0x7f31501e8388 in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2807
113 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
124 0x7f314fa8da3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
135 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
14
15ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f5af9e7815f bp 0x7ffc4c843a40 sp 0x7ffc4c8436c0 T0)
160 0x7f5af9e7815e in testcase_read /home/company/real_sanitize/libsolv-master/ext/testcase.c:2799
171 0x402aa5 in main /home/company/real_sanitize/libsolv-master/tools/testsolv.c:148
182 0x7f5af971da3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f)
193 0x401bb8 in _start (/home/company/real_sanitize/libsolv-master/build/install/bin/testsolv+0x401bb8)
20
21CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
22
23Upstream-Status: Backport
24
25Signed-off-by: Muminul Islam <muislam@microsoft.com>
26
27Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
28---
29 ext/testcase.c | 2 +-
30 1 file changed, 1 insertion(+), 1 deletion(-)
31
32diff --git a/ext/testcase.c b/ext/testcase.c
33index dd20de14..83467fe2 100644
34--- a/ext/testcase.c
35+++ b/ext/testcase.c
36@@ -2772,7 +2772,7 @@ testcase_read(Pool *pool, FILE *fp, const char *testcase, Queue *job, char **res
37 {
38 int i = strlen(pieces[1]);
39 s = strchr(pieces[1], '(');
40- if (!s && pieces[1][i - 1] != ')')
41+ if (!s || pieces[1][i - 1] != ')')
42 {
43 pool_error(pool, 0, "testcase_read: bad namespace '%s'", pieces[1]);
44 }
45--
462.23.0
47
diff --git a/meta/recipes-extended/libsolv/libsolv/0008-Fix-Be-sure-that-NONBLOCK-is-set.patch b/meta/recipes-extended/libsolv/libsolv/0008-Fix-Be-sure-that-NONBLOCK-is-set.patch
new file mode 100644
index 0000000000..fdea9dbdb5
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0008-Fix-Be-sure-that-NONBLOCK-is-set.patch
@@ -0,0 +1,37 @@
1From ebb51f73491987435664ac14b79bebe16ffbdd5c Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 12:40:42 +0100
4Subject: [PATCH] Fix: Be sure that NONBLOCK is set
5Reply-To: muislam@microsoft.com
6
7CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
8
9Upstream-Status: Backport
10
11Signed-off-by: Muminul Islam <muislam@microsoft.com>
12
13Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
14---
15 examples/solv/fastestmirror.c | 6 +++++-
16 1 file changed, 5 insertions(+), 1 deletion(-)
17
18diff --git a/examples/solv/fastestmirror.c b/examples/solv/fastestmirror.c
19index d2ebd97a..0ee4e73b 100644
20--- a/examples/solv/fastestmirror.c
21+++ b/examples/solv/fastestmirror.c
22@@ -68,7 +68,11 @@ findfastest(char **urls, int nurls)
23 socks[i] = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
24 if (socks[i] >= 0)
25 {
26- fcntl(socks[i], F_SETFL, O_NONBLOCK);
27+ if (fcntl(socks[i], F_SETFL, O_NONBLOCK) == -1)
28+ {
29+ close(socks[i]);
30+ socks[i] = -1;
31+ }
32 if (connect(socks[i], result->ai_addr, result->ai_addrlen) == -1)
33 {
34 if (errno != EINPROGRESS)
35--
362.23.0
37
diff --git a/meta/recipes-extended/libsolv/libsolv/0009-Don-t-set-values-that-are-never-read.patch b/meta/recipes-extended/libsolv/libsolv/0009-Don-t-set-values-that-are-never-read.patch
new file mode 100644
index 0000000000..8b4a993d22
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0009-Don-t-set-values-that-are-never-read.patch
@@ -0,0 +1,113 @@
1From edf87c92cf59c2eed9c1e33c51a47163da15d90b Mon Sep 17 00:00:00 2001
2From: Jaroslav Rohel <jrohel@redhat.com>
3Date: Tue, 11 Dec 2018 12:58:34 +0100
4Subject: [PATCH] Don't set values that are never read
5Reply-To: muislam@microsoft.com
6
7CVE: CVE-2018-20532 CVE-2018-20533 CVE-2018-20534
8
9Upstream-Status: Backport
10
11Signed-off-by: Muminul Islam <muislam@microsoft.com>
12
13Cherry picked from https://github.com/openSUSE/libsolv/pull/291/commits
14---
15 ext/pool_fileconflicts.c | 1 -
16 ext/repo_appdata.c | 2 +-
17 ext/repo_comps.c | 2 +-
18 src/cleandeps.c | 1 -
19 src/dirpool.c | 2 +-
20 src/order.c | 1 -
21 src/repopage.c | 1 -
22 7 files changed, 3 insertions(+), 7 deletions(-)
23
24diff --git a/ext/pool_fileconflicts.c b/ext/pool_fileconflicts.c
25index eaeb52b2..2fd3d540 100644
26--- a/ext/pool_fileconflicts.c
27+++ b/ext/pool_fileconflicts.c
28@@ -590,7 +590,6 @@ findfileconflicts_alias_cb(void *cbdatav, const char *fn, struct filelistinfo *i
29
30 if (!info->dirlen)
31 return;
32- dp = fn + info->dirlen;
33 if (info->diridx != cbdata->lastdiridx)
34 {
35 cbdata->lastdiridx = info->diridx;
36diff --git a/ext/repo_appdata.c b/ext/repo_appdata.c
37index 62faf2d8..69d46386 100644
38--- a/ext/repo_appdata.c
39+++ b/ext/repo_appdata.c
40@@ -103,7 +103,7 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
41 {
42 struct parsedata *pd = xmlp->userdata;
43 Pool *pool = pd->pool;
44- Solvable *s = pd->solvable;
45+ Solvable *s;
46 const char *type;
47
48 /* ignore all language tags */
49diff --git a/ext/repo_comps.c b/ext/repo_comps.c
50index 255ecb16..e59f8d12 100644
51--- a/ext/repo_comps.c
52+++ b/ext/repo_comps.c
53@@ -107,7 +107,7 @@ startElement(struct solv_xmlparser *xmlp, int state, const char *name, const cha
54 {
55 struct parsedata *pd = xmlp->userdata;
56 Pool *pool = pd->pool;
57- Solvable *s = pd->solvable;
58+ Solvable *s;
59
60 switch(state)
61 {
62diff --git a/src/cleandeps.c b/src/cleandeps.c
63index 1da28f6e..b2fde317 100644
64--- a/src/cleandeps.c
65+++ b/src/cleandeps.c
66@@ -748,7 +748,6 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
67 continue;
68 if (strncmp(pool_id2str(pool, s->name), "pattern:", 8) != 0)
69 continue;
70- dp = s->repo->idarraydata + s->requires;
71 for (dp = s->repo->idarraydata + s->requires; *dp; dp++)
72 FOR_PROVIDES(p, pp, *dp)
73 if (pool->solvables[p].repo == installed)
74diff --git a/src/dirpool.c b/src/dirpool.c
75index afb26ea5..bed9435e 100644
76--- a/src/dirpool.c
77+++ b/src/dirpool.c
78@@ -85,7 +85,7 @@ dirpool_make_dirtraverse(Dirpool *dp)
79 return;
80 dp->dirs = solv_extend_resize(dp->dirs, dp->ndirs, sizeof(Id), DIR_BLOCK);
81 dirtraverse = solv_calloc_block(dp->ndirs, sizeof(Id), DIR_BLOCK);
82- for (parent = 0, i = 0; i < dp->ndirs; i++)
83+ for (i = 0; i < dp->ndirs; i++)
84 {
85 if (dp->dirs[i] > 0)
86 continue;
87diff --git a/src/order.c b/src/order.c
88index c92c3328..cfde40c9 100644
89--- a/src/order.c
90+++ b/src/order.c
91@@ -1066,7 +1066,6 @@ transaction_order(Transaction *trans, int flags)
92 #if 0
93 printf("do %s [%d]\n", pool_solvid2str(pool, te->p), temedianr[i]);
94 #endif
95- s = pool->solvables + te->p;
96 for (j = te->edges; od.invedgedata[j]; j++)
97 {
98 struct _TransactionElement *te2 = od.tes + od.invedgedata[j];
99diff --git a/src/repopage.c b/src/repopage.c
100index 2b7a863b..85d53eb9 100644
101--- a/src/repopage.c
102+++ b/src/repopage.c
103@@ -399,7 +399,6 @@ match_done:
104 litlen -= 32;
105 }
106 }
107- litofs = 0;
108 }
109 return oo;
110 }
111--
1122.23.0
113
diff --git a/meta/recipes-extended/libsolv/libsolv_0.6.35.bb b/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
index 12dfc5d3a2..ed6a7cbfd5 100644
--- a/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
+++ b/meta/recipes-extended/libsolv/libsolv_0.6.35.bb
@@ -10,6 +10,13 @@ DEPENDS = "expat zlib"
10SRC_URI = "git://github.com/openSUSE/libsolv.git" 10SRC_URI = "git://github.com/openSUSE/libsolv.git"
11SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \ 11SRC_URI_append_libc-musl = " file://0001-Add-fallback-fopencookie-implementation.patch \
12 file://0002-Fixes-to-internal-fopencookie-implementation.patch \ 12 file://0002-Fixes-to-internal-fopencookie-implementation.patch \
13 file://0003-Fix-Dereference-of-null-pointer.patch \
14 file://0004-Fix-Add-va_end-before-return.patch \
15 file://0005-Fix-Memory-leaks.patch \
16 file://0006-Fix-testsolv-segfault.patch \
17 file://0007-Fix-testsolv-segfaults.patch \
18 file://0008-Fix-Be-sure-that-NONBLOCK-is-set.patch \
19 file://0009-Don-t-set-values-that-are-never-read.patch \
13 " 20 "
14 21
15SRCREV = "38c5374d4712667b0b6ada4bf78ddbb343095d0c" 22SRCREV = "38c5374d4712667b0b6ada4bf78ddbb343095d0c"