I don't know how long this bug has been here, but it looks like ntlmssp_set_workstation() was created by duplicating ntlmssp_set_domain(). The talloc call is made, but the ntlmssp_state->domain variable is checked afterwards, instead of the ntlmssp_state->workstation that is what the talloc is assigned to. Oops. :-) Easy fix, line 185 of libsmb/ntlmssp.c as of 3.0.14a.
got it thanks.
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.