summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-11-29 01:58:13 -0500
committerGreg Hudson <ghudson@mit.edu>2012-11-29 01:59:17 -0500
commit2b06a22f7fd8ec01fb27a7335125290b8ceb6f18 (patch)
tree381cc298b4e9daa07998551309c0916b0515ea86
parent6b37134d163beeeb136b4a59109c523e0bf83f3b (diff)
downloadkrb5-2b06a22f7fd8ec01fb27a7335125290b8ceb6f18.tar.gz
krb5-2b06a22f7fd8ec01fb27a7335125290b8ceb6f18.tar.xz
krb5-2b06a22f7fd8ec01fb27a7335125290b8ceb6f18.zip
Fix spin-loop bug in k5_sendto_kdc
In the second part of the first pass over the server list, we passed the wrong list pointer to service_fds, causing it to see only a subset of the server entries corresponding to sel_state. This could cause service_fds to spin if an event is reported on an fd not in the subset. ticket: 7454 target_version: 1.10.4 tags: pullup
-rw-r--r--src/lib/krb5/os/sendto_kdc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index 63dbcd8f4..22cd90812 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -1287,7 +1287,7 @@ k5_sendto(krb5_context context, const krb5_data *message,
continue;
if (maybe_send(context, state, sel_state, callback_info))
continue;
- done = service_fds(context, sel_state, 1, state, seltemp, msg_handler,
+ done = service_fds(context, sel_state, 1, conns, seltemp, msg_handler,
msg_handler_data, &winner);
}