public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse @ 2023-08-26 12:42 gcc at pauldreik dot se 2023-08-26 13:52 ` [Bug libstdc++/111162] " redi at gcc dot gnu.org ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: gcc at pauldreik dot se @ 2023-08-26 12:42 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111162 Bug ID: 111162 Summary: signed integer overflow triggered by std::chrono::parse Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc at pauldreik dot se Target Milestone: --- The following program: #include <chrono> #include <format> #include <sstream> int main() { std::istringstream is("21474837"); std::chrono::minutes x; is >> std::chrono::parse("%8C", x); } invokes undefined behaviour. If compiled with the current gcc trunk, one gets this when executed: /opt/compiler-explorer/gcc-trunk-20230824/include/c++/14.0.0/bits/chrono_io.h:3174:20: runtime error: signed integer overflow: 21474837 * 100 cannot be represented in type 'int' link to reproducer (uses gcc trunk, may go stale quick): https://godbolt.org/z/h617GT4EY ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug libstdc++/111162] signed integer overflow triggered by std::chrono::parse 2023-08-26 12:42 [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse gcc at pauldreik dot se @ 2023-08-26 13:52 ` redi at gcc dot gnu.org 2023-08-29 12:10 ` redi at gcc dot gnu.org ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2023-08-26 13:52 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111162 Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Target Milestone|--- |13.3 Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Last reconfirmed| |2023-08-26 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug libstdc++/111162] signed integer overflow triggered by std::chrono::parse 2023-08-26 12:42 [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse gcc at pauldreik dot se 2023-08-26 13:52 ` [Bug libstdc++/111162] " redi at gcc dot gnu.org @ 2023-08-29 12:10 ` redi at gcc dot gnu.org 2023-09-01 10:55 ` cvs-commit at gcc dot gnu.org 2023-09-01 10:57 ` redi at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2023-08-29 12:10 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111162 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Testing a patch ... ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug libstdc++/111162] signed integer overflow triggered by std::chrono::parse 2023-08-26 12:42 [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse gcc at pauldreik dot se 2023-08-26 13:52 ` [Bug libstdc++/111162] " redi at gcc dot gnu.org 2023-08-29 12:10 ` redi at gcc dot gnu.org @ 2023-09-01 10:55 ` cvs-commit at gcc dot gnu.org 2023-09-01 10:57 ` redi at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2023-09-01 10:55 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111162 --- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>: https://gcc.gnu.org/g:207c507499d23f0176cbfdfe96d3cd50dec39584 commit r14-3609-g207c507499d23f0176cbfdfe96d3cd50dec39584 Author: Jonathan Wakely <jwakely@redhat.com> Date: Tue Aug 29 13:07:21 2023 +0100 libstdc++: Do not allow chrono::parse to overflow for %C [PR111162] libstdc++-v3/ChangeLog: PR libstdc++/111162 * include/bits/chrono_io.h (_Parser::Operator()): Check %C values are in range of year::min() to year::max(). * testsuite/std/time/parse.cc: Check out of range centuries. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug libstdc++/111162] signed integer overflow triggered by std::chrono::parse 2023-08-26 12:42 [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse gcc at pauldreik dot se ` (2 preceding siblings ...) 2023-09-01 10:55 ` cvs-commit at gcc dot gnu.org @ 2023-09-01 10:57 ` redi at gcc dot gnu.org 3 siblings, 0 replies; 5+ messages in thread From: redi at gcc dot gnu.org @ 2023-09-01 10:57 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111162 Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Target Milestone|13.3 |14.0 Resolution|--- |FIXED --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- This should be fixed now, thanks for the report. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-01 10:57 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-08-26 12:42 [Bug libstdc++/111162] New: signed integer overflow triggered by std::chrono::parse gcc at pauldreik dot se 2023-08-26 13:52 ` [Bug libstdc++/111162] " redi at gcc dot gnu.org 2023-08-29 12:10 ` redi at gcc dot gnu.org 2023-09-01 10:55 ` cvs-commit at gcc dot gnu.org 2023-09-01 10:57 ` redi at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).