id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12820,"Unsigned value type accepts negative argument""'`--",avogel@…,Vladimir Prus,"In program_options, an option with e.g. `value()` will accept negative arguments. A positional will not work without preceding `--` because the minus sign is treated as the option character, though. So it's: `mycommand --foo-level -1` or `mycommand --foo-level=-1` or `mycommand -- -1` Assuming foo-level takes a `std::uint32_t` (and is the first positional option for the latter example), this will be accepted and converted to 4294967295 (aka `UINT32_MAX`). Likewise, `mycommand --foo-level -4294967196` will result in a value of 100. There's a workaround with a custom validator discussed at: http://stackoverflow.com/questions/36800596/disallow-negative-argument-for-unsigned-value-with-boostprogram-options But this should not be necessary IMO.",Bugs,new,To Be Determined,program_options,Boost 1.58.0,Problem,,1,arachni@…