Skip to content

Error parsing date time with leading zero and space delimiter #130

@moorereason

Description

@moorereason

Environment

toml++ version and/or commit hash:
v3 b41e12f

Compiler:
gcc 11.1.0

C++ standard mode:
c++20

Target arch:
linux x86_64

Library configuration overrides:
n/a

Relevant compilation flags:
meson build_tt --buildtype=release -Dbuild_tt_encoder=true -Dbuild_tt_decoder=true -Dgenerate_cmake_config=false

Describe the bug

The following TOML date time should be valid but fails:

0400-01-01 00:00:00

However, the following values work correctly:

0400-01-01           # no time component
0400-01-01T00:00:00  # T separator
1000-01-01 00:00:00  # no leading zero

Steps to reproduce (or a small repro code sample)

On Linux:

$ echo "0=0400-01-01 00:00:00" | tt_decoder

Error while parsing key-value pair: expected a comment or whitespace, saw '0'
 (error occurred at line 1, column 14 of 'stdin')

Additional information

Found while doing differential fuzzing against go-toml.

Metadata

Metadata

Assignees

Labels

TOML specAn issue relating to the library's TOML spec conformance.bugSomething isn't workingimplemented in v3Fixes + features which were implemented in v3 release.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions