[U-Boot] [PATCH v2] tiny-printf: Correct the snprintf() implementation

This current code passes the variable arguments list to sprintf(). This is not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: abeb272 ("tiny-printf: Support snprintf()") Signed-off-by: Simon Glass sjg@chromium.org ---
Changes in v2: - Correct the 'Fixes' line
lib/tiny-printf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c index 5ea2555..3c65fc9 100644 --- a/lib/tiny-printf.c +++ b/lib/tiny-printf.c @@ -168,8 +168,10 @@ int snprintf(char *buf, size_t size, const char *fmt, ...) int ret;
va_start(va, fmt); - ret = sprintf(buf, fmt, va); + outstr = buf; + ret = _vprintf(fmt, va, putc_outstr); va_end(va); + *outstr = '\0';
return ret; }

On 09.06.2016 04:55, Simon Glass wrote:
This current code passes the variable arguments list to sprintf(). This is not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: abeb272 ("tiny-printf: Support snprintf()") Signed-off-by: Simon Glass sjg@chromium.org
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan

On 06/09/2016 07:14 AM, Stefan Roese wrote:
On 09.06.2016 04:55, Simon Glass wrote:
This current code passes the variable arguments list to sprintf(). This is not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: abeb272 ("tiny-printf: Support snprintf()") Signed-off-by: Simon Glass sjg@chromium.org
Reviewed-by: Stefan Roese sr@denx.de
Acked-by: Marek Vasut marex@denx.de

On Wed, Jun 08, 2016 at 08:55:15PM -0600, Simon Glass wrote:
This current code passes the variable arguments list to sprintf(). This is not correct. Fix it by calling _vprintf() directly.
This makes firefly-rk3288 boot again.
Fixes: abeb272 ("tiny-printf: Support snprintf()") Reviewed-by: Stefan Roese sr@denx.de Acked-by: Marek Vasut marex@denx.de Signed-off-by: Simon Glass sjg@chromium.org
Applied to u-boot/master, thanks!
participants (4)
-
Marek Vasut
-
Simon Glass
-
Stefan Roese
-
Tom Rini