summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/musl/musl/out_of_bounds_read.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/musl/musl/out_of_bounds_read.patch')
-rw-r--r--meta/recipes-core/musl/musl/out_of_bounds_read.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/meta/recipes-core/musl/musl/out_of_bounds_read.patch b/meta/recipes-core/musl/musl/out_of_bounds_read.patch
new file mode 100644
index 0000000000..a681cc284e
--- /dev/null
+++ b/meta/recipes-core/musl/musl/out_of_bounds_read.patch
@@ -0,0 +1,20 @@
+Fix out of bounds read
+
+self->dtv hasn't been extended yet
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/ldso/dynlink.c b/ldso/dynlink.c
+index e2c3259f..b23ea0df 100644
+--- a/ldso/dynlink.c
++++ b/ldso/dynlink.c
+@@ -1374,7 +1376,7 @@ static void install_new_tls(void)
+ }
+ /* Install new dtls into the enlarged, uninstalled dtv copies. */
+ for (p=head; ; p=p->next) {
+- if (!p->tls_id || self->dtv[p->tls_id]) continue;
++ if (p->tls_id <= old_cnt) continue;
+ unsigned char *mem = p->new_tls;
+ for (j=0; j<i; j++) {
+ unsigned char *new = mem;