aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0029-fix-accidental-global-static-pointer-in-ldso.patch
blob: 6d18c6a7218acaa40316c40c9304cf6ffaaf8491 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From 86e8cc0fd46f5789e80a16d68ae86f7358f64705 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Tue, 1 Nov 2016 02:44:56 +0100
Subject: [PATCH] fix accidental global static pointer in ldso

this was harmless as load_library is not called concurrently,
but it used one word of bss.
---
 ldso/dynlink.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ldso/dynlink.c b/ldso/dynlink.c
index e458f386..d11776dc 100644
--- a/ldso/dynlink.c
+++ b/ldso/dynlink.c
@@ -905,8 +905,9 @@ static struct dso *load_library(const char *name, struct dso *needed_by)
 
 	/* Catch and block attempts to reload the implementation itself */
 	if (name[0]=='l' && name[1]=='i' && name[2]=='b') {
-		static const char *rp, reserved[] =
+		static const char reserved[] =
 			"c\0pthread\0rt\0m\0dl\0util\0xnet\0";
+		const char *rp;
 		char *z = strchr(name, '.');
 		if (z) {
 			size_t l = z-name;
-- 
2.11.0