summaryrefslogtreecommitdiffstats
path: root/src/kadmin/server/misc.c
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2007-04-03 19:23:52 +0000
committerTom Yu <tlyu@mit.edu>2007-04-03 19:23:52 +0000
commitf7f39b9dda8998390da542fb9bbc2be563c8a557 (patch)
treeddc2bfdf6bb73d2b961a88f61f57d66449c41c55 /src/kadmin/server/misc.c
parentfd6cef3500bd22b289be8c9c3561a11b87843f86 (diff)
downloadkrb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.tar.gz
krb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.tar.xz
krb5-f7f39b9dda8998390da542fb9bbc2be563c8a557.zip
MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog
Fix MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog. * src/lib/krb5/krb/get_in_tkt.c (krb5_klog_syslog): Use vsnprintf if available. Everything else: use precision fields on "%s" specifiers to truncate logged strings, in case someone doesn't have vsnprintf. ticket: new target_version: 1.6.1 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19395 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/server/misc.c')
-rw-r--r--src/kadmin/server/misc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/kadmin/server/misc.c b/src/kadmin/server/misc.c
index fa4ca914c..ed5110048 100644
--- a/src/kadmin/server/misc.c
+++ b/src/kadmin/server/misc.c
@@ -171,3 +171,12 @@ check_min_life(void *server_handle, krb5_principal principal,
return kadm5_free_principal_ent(handle->lhandle, &princ);
}
+
+#define MAXPRINCLEN 125
+
+void
+trunc_name(size_t *len, char **dots)
+{
+ *dots = *len > MAXPRINCLEN ? "..." : "";
+ *len = *len > MAXPRINCLEN ? MAXPRINCLEN : *len;
+}