From: Jonathan Wakely Date: Wed, 20 Sep 2017 12:01:44 +0000 (+0100) Subject: PR libstdc++/60936 fix length calculation X-Git-Tag: releases/gcc-6.5.0~771 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=075223648e884b11781dd69f7f73db57fba3b6f6;p=thirdparty%2Fgcc.git PR libstdc++/60936 fix length calculation Backport from mainline 2017-02-16 Jonathan Wakely PR libstdc++/60936 * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length written to buffer, not length remaining in buffer. Backport from mainline 2017-02-08 Gerald Pfeifer * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. From-SVN: r253007 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1daefa0320eb..f803618da6f1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,17 @@ +2017-09-20 Jonathan Wakely + + Backport from mainline + 2017-02-16 Jonathan Wakely + + PR libstdc++/60936 + * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length + written to buffer, not length remaining in buffer. + + Backport from mainline + 2017-02-08 Gerald Pfeifer + + * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. + 2017-09-18 Jonathan Wakely Backport from mainline diff --git a/libstdc++-v3/src/c++11/snprintf_lite.cc b/libstdc++-v3/src/c++11/snprintf_lite.cc index c3f8dc059174..2ddcdf353ac3 100644 --- a/libstdc++-v3/src/c++11/snprintf_lite.cc +++ b/libstdc++-v3/src/c++11/snprintf_lite.cc @@ -52,7 +52,7 @@ namespace __gnu_cxx { const size_t __len = __bufend - __buf + 1; const char __err[] = "not enough space for format expansion " - "(Please submit full bug report at http://gcc.gnu.org/bugs.html):\n "; + "(Please submit full bug report at https://gcc.gnu.org/bugs/):\n "; const size_t __errlen = sizeof(__err) - 1; char *const __e @@ -81,7 +81,7 @@ namespace __gnu_cxx { __val /= 10; } while (__val != 0); - size_t __len = __out - __cs; + size_t __len = __cs + __ilen - __out; if (__bufsize < __len) return -1;