diff options
Diffstat (limited to 'src/elfs/elfloader.c')
| -rwxr-xr-x | src/elfs/elfloader.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 6490619d..fa82f2e3 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -1163,11 +1163,12 @@ void RefreshElfTLS(elfheader_t* h) printf_dump(LOG_DEBUG, "Refreshing main TLS block @%p from %p:0x%lx\n", dest, (void*)h->tlsaddr, h->tlsfilesize); memcpy(dest, (void*)(h->tlsaddr+h->delta), h->tlsfilesize); tlsdatasize_t* ptr; - if ((ptr = (tlsdatasize_t*)pthread_getspecific(my_context->tlskey)) != NULL) + if ((ptr = (tlsdatasize_t*)pthread_getspecific(my_context->tlskey)) != NULL) { // refresh in tlsdata too dest = (char*)(ptr->data+h->tlsbase); printf_dump(LOG_DEBUG, "Refreshing active TLS block @%p from %p:0x%lx\n", dest, (void*)h->tlsaddr, h->tlssize-h->tlsfilesize); memcpy(dest, (void*)(h->tlsaddr+h->delta), h->tlsfilesize); + } } } |