From: Marcus Boerger Date: Tue, 24 Jan 2006 20:57:56 +0000 (+0000) Subject: - Fixed Bug #35978 %n format string specifier wrongly implemented X-Git-Tag: RELEASE_1_2~372 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a372669d4a2cfb45cfd40f42210eee5c0ee971fb;p=php - Fixed Bug #35978 %n format string specifier wrongly implemented --- diff --git a/main/snprintf.c b/main/snprintf.c index a7e50701ed..caaf3b78c0 100644 --- a/main/snprintf.c +++ b/main/snprintf.c @@ -1015,7 +1015,7 @@ static int format_converter(register buffy * odp, const char *fmt, case 'n': *(va_arg(ap, int *)) = cc; - break; + goto skip_output; /* * Always extract the argument as a "char *" pointer. We @@ -1096,6 +1096,7 @@ fmt_error: if (adjust_width && adjust == LEFT && min_width > s_len) PAD(min_width, s_len, pad_char); } +skip_output: fmt++; } odp->nextb = sp; diff --git a/main/spprintf.c b/main/spprintf.c index d090d7dee4..bb357caca3 100644 --- a/main/spprintf.c +++ b/main/spprintf.c @@ -722,7 +722,7 @@ fmt_string: case 'n': *(va_arg(ap, int *)) = xbuf->len; - break; + goto skip_output; /* * Always extract the argument as a "char *" pointer. We @@ -802,6 +802,7 @@ fmt_error: PAD(unicode, xbuf, min_width - s_len, pad_char); } } +skip_output: fmt++; } return;