diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2009-02-01 19:42:48 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2009-02-01 19:42:48 +0000 |
commit | e721d542eebdbf07331523c8d5cf1f7f30445ff4 (patch) | |
tree | c83a531308516755404167441b304897c74b553e | |
parent | 9acebf6f4ae2dd0a4d04541f26eb54f170e4fe78 (diff) | |
download | php-git-e721d542eebdbf07331523c8d5cf1f7f30445ff4.tar.gz |
Fixed a possible invalid read when string is not null terminated
-rw-r--r-- | main/spprintf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/spprintf.c b/main/spprintf.c index 704230d33d..aeecc6ca70 100644 --- a/main/spprintf.c +++ b/main/spprintf.c @@ -547,9 +547,11 @@ static void xbuf_format_converter(smart_str *xbuf, const char *fmt, va_list ap) case 'v': s = va_arg(ap, char *); if (s != NULL) { - s_len = strlen(s); - if (adjust_precision && precision < s_len) + if (adjust_precision && precision) { s_len = precision; + } else { + s_len = strlen(s); + } } else { s = S_NULL; s_len = S_NULL_LEN; |