HomeFreeBSD

MFC r317888 and two upstream prerequisites:

Description

MFC r317888 and two upstream prerequisites:

Pull in r227097 from upstream libc++ trunk (by Marshall Clow):

Fix PR21428. Buffer was one byte too small in octal formatting case.
Add test

Pull in r268009 from upstream libc++ trunk (by Eric Fiselier):

Fix PR21428 for long. Buffer was one byte too small in octal
formatting case. Rename previously added test

Pull in r302362 from upstream libc++ trunk (by me):

Ensure showbase does not overflow do_put buffers

Summary:
In https://bugs.freebsd.org/207918, Daniel McRobb describes how using
std::showbase with ostreams can cause truncation of unsigned long long
when output format is octal.  In fact, this can even happen with
unsigned int and unsigned long.

To ensure this does not happen, add one additional character to the
do_put buffers if std::showbase is on.  Also add a test case.

Reviewers: EricWF, mclow.lists

Reviewed By: EricWF

Subscribers: cfe-commits, emaste

Differential Revision: https://reviews.llvm.org/D32670

PR: 207918

Details

Provenance
dimAuthored on
Parents
rS318030: MFC r317707:
Branches
Unknown
Tags
Unknown