fix dlopen UB due to longjmp/volatile rules violation
authorRich Felker <dalias@aerifal.cx>
Sat, 2 Jul 2011 02:40:00 +0000 (22:40 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 2 Jul 2011 02:40:00 +0000 (22:40 -0400)
src/ldso/dynlink.c

index fc06685..33937e7 100644 (file)
@@ -536,7 +536,7 @@ void *__dynlink(int argc, char **argv, size_t *got)
 
 void *dlopen(const char *file, int mode)
 {
 
 void *dlopen(const char *file, int mode)
 {
-       struct dso *p, *orig_tail = tail, *next;
+       struct dso *volatile p, *orig_tail = tail, *next;
        size_t i;
 
        if (!file) return head;
        size_t i;
 
        if (!file) return head;