Page MenuHomeFreeBSD

D54507.id169027.diff
No OneTemporary

D54507.id169027.diff

diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -5499,7 +5499,7 @@
char *addr;
size_t i;
size_t extra_size, maxalign, post_size, pre_size, tls_block_size;
- size_t tls_init_align, tls_init_offset;
+ size_t tls_init_align, tls_init_offset, tls_pad_offset;
if (oldtcb != NULL && tcbsize == TLS_TCB_SIZE)
return (oldtcb);
@@ -5557,11 +5557,10 @@
obj->tlsinitsize);
}
if (obj->tlssize > obj->tlsinitsize) {
- memset(addr + tls_init_offset +
- obj->tlsinitsize,
- 0,
- obj->tlssize - obj->tlsinitsize -
- tls_init_offset);
+ tls_pad_offset = tls_init_offset +
+ obj->tlsinitsize;
+ memset(addr + tls_pad_offset, 0,
+ obj->tlssize - tls_pad_offset);
}
dtv->dtv_slots[obj->tlsindex - 1].dtvs_tls = addr;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 12, 10:11 PM (3 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31375270
Default Alt Text
D54507.id169027.diff (867 B)

Event Timeline