[Bug libstdc++/12791] New: _M_extract_num returns a wrong __beg in case of error

paolo at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Oct 27 17:22:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12791

           Summary: _M_extract_num returns a wrong __beg in case of error
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: libstdc++
        AssignedTo: paolo at gcc dot gnu dot org
        ReportedBy: paolo at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: Any

It looks like time_get::_M_extract_num don't do the right thing wrt the final
value of __beg in case of error: the standard mandates that in case of error the
returned iterator points immediately beyond the last _character_ consumed as
part of a valid date value, but _M_extract_num checks only that the single chars
are digits and increments __beg, checking only _at the end_ the complete number vs 
__min and __max!



More information about the Gcc-bugs mailing list