From: Tom Yu Date: Thu, 20 Oct 2011 19:27:32 +0000 (+0000) Subject: pull up r25367 from trunk X-Git-Tag: krb5-1.10-alpha1~8 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b9f8106ca10c90d3402360bc96de446aa4b42eb1;p=krb5.git pull up r25367 from trunk ------------------------------------------------------------------------ r25367 | ghudson | 2011-10-18 12:32:28 -0400 (Tue, 18 Oct 2011) | 12 lines ticket: 6980 subject: Ensure termination in Windows vsnprintf wrapper target_version: 1.10 tags: pullup The Windows _vsnprintf does not terminate its output buffer in the overflow case. Make sure we do that in the wrapper. Reported by Chris Hecker. (Not an issue for KfW 3.2 since we weren't using snprintf in 1.6.x except in Unix-specific code.) ticket: 6980 version_fixed: 1.10 status: resolved git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-10@25386 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/include/k5-platform.h b/src/include/k5-platform.h index 77d710b49..d1896e7f8 100644 --- a/src/include/k5-platform.h +++ b/src/include/k5-platform.h @@ -958,8 +958,10 @@ vsnprintf(char *str, size_t size, const char *format, va_list args) va_copy(args_copy, args); length = _vscprintf(format, args_copy); va_end(args_copy); - if (size) + if (size > 0) { _vsnprintf(str, size, format, args); + str[size - 1] = '\0'; + } return length; } static inline int