From ef8645a69d5555ae6e98d5269f3d136b320fd8907faff6f1c60393e562a9d7d0 Mon Sep 17 00:00:00 2001 From: Michael Calmer Date: Fri, 25 Jan 2013 14:24:37 +0000 Subject: [PATCH] break OBS-URL: https://build.opensuse.org/package/show/network/krb5?expand=0&rev=83 --- krb5-1.10-spin-loop.patch | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 krb5-1.10-spin-loop.patch diff --git a/krb5-1.10-spin-loop.patch b/krb5-1.10-spin-loop.patch new file mode 100644 index 0000000..4a3b24c --- /dev/null +++ b/krb5-1.10-spin-loop.patch @@ -0,0 +1,29 @@ +commit 2b06a22f7fd8ec01fb27a7335125290b8ceb6f18 +Author: Greg Hudson +Date: Thu Nov 29 01:58:13 2012 -0500 + + 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 + +Index: krb5-1.10.2/src/lib/krb5/os/sendto_kdc.c +=================================================================== +--- krb5-1.10.2.orig/src/lib/krb5/os/sendto_kdc.c ++++ krb5-1.10.2/src/lib/krb5/os/sendto_kdc.c +@@ -1287,7 +1287,7 @@ k5_sendto(krb5_context context, const kr + 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); + } +