id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13125,parse_config_file silently ignores IO errors,Johannes Spangenberg ,Vladimir Prus,"The function `parse_config_file` silently ignores I/O errors while reading the configuration file. A easy way to reproduce the bug is to specify a directory as configuration file. On Linux, `open` will succeed but subsequent calls to `read` will fail with `EISDIR`. --- Minimal and complete program to reproduce the problem: {{{#!c++ #include #include #include using namespace boost::program_options; int main(int argc, char *argv[]) { if (argc != 2) { std::cerr << ""Invalid amount of arguments"" << std::endl; return 1; } try { options_description desc(""Desc""); variables_map vm; store(parse_config_file(argv[1], desc), vm); notify(vm); } catch (error &e) { std::cerr << ""Error: "" << e.what() << std::endl; return 1; } std::cerr << ""Everything fine"" << std::endl; return 0; } }}} {{{ $ ./a.out some-non-existent-file Error: can not read options configuration file 'some-non-existent-file' $ ./a.out . Everything fine }}}",Bugs,new,To Be Determined,program_options,Boost Release Branch,Problem,,,