summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-01-25 13:11:27 -0500
committerGreg Hudson <ghudson@mit.edu>2013-01-25 13:11:27 -0500
commit74bee54227deb64a41c2e79f57dd2a2c5ea010a3 (patch)
tree3648f09ce31733120549355714367abd89331fa4
parent1876508ebe5db0c529a729f12023db2a23df1dbc (diff)
downloadkrb5-74bee54227deb64a41c2e79f57dd2a2c5ea010a3.tar.gz
krb5-74bee54227deb64a41c2e79f57dd2a2c5ea010a3.tar.xz
krb5-74bee54227deb64a41c2e79f57dd2a2c5ea010a3.zip
Check for negative poll timeout in k5_sendto_kdc
ticket: 7553 target_version: 1.11.1 tags: pullup
-rw-r--r--src/lib/krb5/os/sendto_kdc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index d8b6a95963..8488f6d6e0 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -523,6 +523,10 @@ cm_select_or_poll(const struct select_state *in, struct select_state *out,
return e;
timeout = (in->end_time.tv_sec - now.tv_sec) * 1000 +
(in->end_time.tv_usec - now.tv_usec) / 1000;
+ if (timeout < 0) {
+ *sret = 0;
+ return 0;
+ }
}
/* We don't need a separate copy of the selstate for poll, but use one
* anyone for consistency with the select wrapper. */