summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kim/agent/mac/ServerDemux.m15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/kim/agent/mac/ServerDemux.m b/src/kim/agent/mac/ServerDemux.m
index 00b13c9c5..595da0656 100644
--- a/src/kim/agent/mac/ServerDemux.m
+++ b/src/kim/agent/mac/ServerDemux.m
@@ -458,6 +458,11 @@ static int32_t kim_handle_request_handle_error (mach_port_t in_client_port,
if (!err) {
err = k5_ipc_stream_read_string (in_request_stream, &identity_string);
+ /* Can be empty string "" if there is no identity */
+ if (!err && identity_string[0]) {
+ k5_ipc_stream_free_string (identity_string);
+ identity_string = KIM_IDENTITY_ANY;
+ }
}
if (!err) {
@@ -475,11 +480,11 @@ static int32_t kim_handle_request_handle_error (mach_port_t in_client_port,
if (!err) {
// performs selector on main thread
[KerberosAgentListener handleErrorWithClientPort:in_client_port
- replyPort:in_reply_port
- identity:identity_string
- error:error
- message:message
- description:description];
+ replyPort:in_reply_port
+ identity:identity_string
+ error:error
+ message:message
+ description:description];
}
k5_ipc_stream_free_string (identity_string);