diff options
author | Greg Hudson <ghudson@mit.edu> | 2013-01-25 13:11:27 -0500 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2013-01-25 13:11:27 -0500 |
commit | 74bee54227deb64a41c2e79f57dd2a2c5ea010a3 (patch) | |
tree | 3648f09ce31733120549355714367abd89331fa4 /src/lib/krb5 | |
parent | 1876508ebe5db0c529a729f12023db2a23df1dbc (diff) | |
download | krb5-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
Diffstat (limited to 'src/lib/krb5')
-rw-r--r-- | src/lib/krb5/os/sendto_kdc.c | 4 |
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 d8b6a9596..8488f6d6e 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. */ |