From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/10689 Path: news.gmane.org!.POSTED!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] fix accidental global static pointer in ldso Date: Tue, 1 Nov 2016 02:44:56 +0100 Message-ID: <20161101014456.GE5749@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1477964726 12229 195.159.176.226 (1 Nov 2016 01:45:26 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 1 Nov 2016 01:45:26 +0000 (UTC) User-Agent: Mutt/1.6.0 (2016-04-01) To: musl@lists.openwall.com Original-X-From: musl-return-10702-gllmg-musl=m.gmane.org@lists.openwall.com Tue Nov 01 02:45:22 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1c1O8T-0000qR-Hi for gllmg-musl@m.gmane.org; Tue, 01 Nov 2016 02:45:09 +0100 Original-Received: (qmail 3445 invoked by uid 550); 1 Nov 2016 01:45:09 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 3418 invoked from network); 1 Nov 2016 01:45:08 -0000 Mail-Followup-To: musl@lists.openwall.com Content-Disposition: inline Xref: news.gmane.org gmane.linux.lib.musl.general:10689 Archived-At: 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 e458f38..d11776d 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.10.1