r18600@cathode-dark-space: jaltman | 2006-09-20 22:43:12 -0400
ticket: new
subject: windows thread support frees thread local storage after TlsSetValue
tags: pullup
threads.c: The return value of TlsSetValue is non-zero on
success. As a result of misinterpreting the
return value, the memory set in TLS is then freed.
A subsequent call to TlsGetValue returns the
invalid pointer.
ticket: 4305
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-4@18611
dc483132-0cff-0310-8789-
dd5450dbe970
/* add to global linked list */
/* t->next = 0; */
err = TlsSetValue(tls_idx, t);
- if (err) {
+ if (!err) {
free(t);
- return err;
+ return GetLastError();
}
}