84ce9e0d13
Cleanup of patches. OBS-URL: https://build.opensuse.org/request/show/113387 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=164
30 lines
799 B
Diff
30 lines
799 B
Diff
Index: glibc-2.15/elf/dl-open.c
|
|
===================================================================
|
|
--- glibc-2.15.orig/elf/dl-open.c
|
|
+++ glibc-2.15/elf/dl-open.c
|
|
@@ -326,7 +326,7 @@ dl_open_worker (void *a)
|
|
while (l != NULL);
|
|
if (nmaps > 1)
|
|
{
|
|
- char seen[nmaps];
|
|
+ uint16_t seen[nmaps];
|
|
memset (seen, '\0', nmaps);
|
|
size_t i = 0;
|
|
while (1)
|
|
@@ -352,13 +352,13 @@ dl_open_worker (void *a)
|
|
(k - i) * sizeof (maps[0]));
|
|
maps[k] = thisp;
|
|
|
|
- if (seen[i + 1] > 1)
|
|
+ if (seen[i + 1] > nmaps - i)
|
|
{
|
|
++i;
|
|
goto next_clear;
|
|
}
|
|
|
|
- char this_seen = seen[i];
|
|
+ uint16_t this_seen = seen[i];
|
|
memmove (&seen[i], &seen[i + 1],
|
|
(k - i) * sizeof (seen[0]));
|
|
seen[k] = this_seen;
|