summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2009-02-01 19:42:48 +0000
committerIlia Alshanetsky <iliaa@php.net>2009-02-01 19:42:48 +0000
commite721d542eebdbf07331523c8d5cf1f7f30445ff4 (patch)
treec83a531308516755404167441b304897c74b553e
parent9acebf6f4ae2dd0a4d04541f26eb54f170e4fe78 (diff)
downloadphp-git-e721d542eebdbf07331523c8d5cf1f7f30445ff4.tar.gz
Fixed a possible invalid read when string is not null terminated
-rw-r--r--main/spprintf.c6
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;