fix accidental global static pointer in ldso
authorSzabolcs Nagy <nsz@port70.net>
Tue, 1 Nov 2016 01:44:56 +0000 (02:44 +0100)
committerRich Felker <dalias@aerifal.cx>
Mon, 7 Nov 2016 16:59:58 +0000 (11:59 -0500)
this was harmless as load_library is not called concurrently,
but it used one word of bss.

ldso/dynlink.c

index e458f38..d11776d 100644 (file)
@@ -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;