projects
/
oweals
/
musl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
187bcc3
)
fix inefficient choice of tlsdesc function due to off-by-one
author
Rich Felker
<dalias@aerifal.cx>
Mon, 16 Jul 2018 16:29:14 +0000
(12:29 -0400)
committer
Rich Felker
<dalias@aerifal.cx>
Mon, 16 Jul 2018 16:29:14 +0000
(12:29 -0400)
tls_id is one-based, whereas [static_]tls_cnt is a count, so
comparison for checking that a given tls_id is dynamic rather than
static needs to use strict inequality.
ldso/dynlink.c
patch
|
blob
|
history
diff --git
a/ldso/dynlink.c
b/ldso/dynlink.c
index 41534e90e4680b88e7d6a623c1632b014600e547..8242a1d1aba7f3005a46b5401954bedae7a10864 100644
(file)
--- a/
ldso/dynlink.c
+++ b/
ldso/dynlink.c
@@
-438,7
+438,7
@@
static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri
#endif
case REL_TLSDESC:
if (stride<3) addend = reloc_addr[1];
- if (runtime && def.dso->tls_id >
=
static_tls_cnt) {
+ if (runtime && def.dso->tls_id > static_tls_cnt) {
struct td_index *new = malloc(sizeof *new);
if (!new) {
error(