diff options
author | bar@mysql.com/bar.myoffice.izhnet.ru <> | 2007-05-30 14:03:35 +0500 |
---|---|---|
committer | bar@mysql.com/bar.myoffice.izhnet.ru <> | 2007-05-30 14:03:35 +0500 |
commit | ad8e43155b9b9daf92156a13ddbafce31901b932 (patch) | |
tree | 7d98ca60a6020ebd5c9ac68a51d13eb13a0a7aaa /strings/my_vsnprintf.c | |
parent | 1f12c44b91b89feed03ee9c88dd3e79d7b9a987a (diff) | |
download | mariadb-git-ad8e43155b9b9daf92156a13ddbafce31901b932.tar.gz |
Fixing wrong memory read problem detected by Valgrind in "xml" test.
The source of the problem was in my_vsnprintf() implementation.
Diffstat (limited to 'strings/my_vsnprintf.c')
-rw-r--r-- | strings/my_vsnprintf.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/strings/my_vsnprintf.c b/strings/my_vsnprintf.c index 93d228a1954..befdb1a81c2 100644 --- a/strings/my_vsnprintf.c +++ b/strings/my_vsnprintf.c @@ -95,8 +95,7 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) reg2 char *par = va_arg(ap, char *); uint plen,left_len = (uint)(end-to)+1; if (!par) par = (char*)"(null)"; - plen = (uint) strlen(par); - set_if_smaller(plen,width); + plen= (uint) strnlen(par, width); if (left_len <= plen) plen = left_len - 1; to=strnmov(to,par,plen); |