diff options
Diffstat (limited to 'app-crypt/mit-krb5/files/CVE-2010-1322.patch')
-rw-r--r-- | app-crypt/mit-krb5/files/CVE-2010-1322.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/app-crypt/mit-krb5/files/CVE-2010-1322.patch b/app-crypt/mit-krb5/files/CVE-2010-1322.patch new file mode 100644 index 000000000000..0de12e62f3e1 --- /dev/null +++ b/app-crypt/mit-krb5/files/CVE-2010-1322.patch @@ -0,0 +1,33 @@ +diff --git a/src/kdc/kdc_authdata.c b/src/kdc/kdc_authdata.c +index b5de64d..cc44e29 100644 +--- a/src/kdc/kdc_authdata.c ++++ b/src/kdc/kdc_authdata.c +@@ -495,7 +495,7 @@ merge_authdata (krb5_context context, + krb5_boolean copy, + krb5_boolean ignore_kdc_issued) + { +- size_t i, nadata = 0; ++ size_t i, j, nadata = 0; + krb5_authdata **authdata = *out_authdata; + + if (in_authdata == NULL || in_authdata[0] == NULL) +@@ -529,16 +529,16 @@ merge_authdata (krb5_context context, + in_authdata = tmp; + } + +- for (i = 0; in_authdata[i] != NULL; i++) { ++ for (i = 0, j = 0; in_authdata[i] != NULL; i++) { + if (ignore_kdc_issued && + is_kdc_issued_authdatum(context, in_authdata[i], 0)) { + free(in_authdata[i]->contents); + free(in_authdata[i]); + } else +- authdata[nadata + i] = in_authdata[i]; ++ authdata[nadata + j++] = in_authdata[i]; + } + +- authdata[nadata + i] = NULL; ++ authdata[nadata + j] = NULL; + + free(in_authdata); + |