id summary reporter owner description type status milestone component version severity resolution keywords cc 9585 program_option::environment_iterator moves past terminating NULL pointer abel@… Vladimir Prus "The get() method increments m_environment outside of the else scope: void get() { if (*m_environment == 0) found_eof(); else { std::string s(*m_environment); std::string::size_type n = s.find('='); assert(n != s.npos); value().first = s.substr(0, n); value().second = s.substr(n+1); } ++m_environment; } This means the iterator will move past the terminating pointer. A simple fix seems to include the increment in the else's scope." Bugs closed To Be Determined program_options Boost 1.55.0 Problem fixed