On Sun, 2005-02-13 at 00:50 +1100, Luke Howard wrote: > >There seems to be some general confusion in the libs as to if this > >string should be allocated, or if it is static storage on a context > >somewhere. Note that gssapi_krb5_get_error_string() does not free() the > >string before assigning the pointer to NULL, and neither does > >krb5_get_error_string(). > > > >Is there a document in which the correct semantics for the error string > >handling is recorded, at least so I can figure out what the correct fix > >should be? > > >From my reading of the code: > > gssapi_krb5_set_error_string() stores the last Kerberos error in thread- > specific data. > > When gssapi_krb5_get_error_string() is called, the caller then owns the > error string. So gssapi_krb5_set_error_string() should always call strdup(), to ensure that when gssapi_krb5_get_error_string() is called, the caller can own the string, right? Or is the assumption that the kerberos layer has made a similar promise, and the kerberos error routines should call strdup()? Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org Student Network Administrator, Hawker College http://hawkerc.net
This is a digitally signed message part