Boost logo

Boost Users :

Subject: [Boost-users] [program options] access violation with _SECURE_SCL turned off
From: klaus triendl (klaus_at_[hidden])
Date: 2009-02-17 10:06:52


Hi,

I'm using the boost 1.36 program options library on windows with
msvc++2008, statically linked to my applications.

In "debug mode" everything works fine, however, in "release mode" I
encounter an access violation when parsing the c++ commandline passed to
main() or when parsing the windows commandline with split_winmain().
Note that this happens only if and only if the preprocessor macro
_SECURE_SCL gets turned off (_SECURE_SCL=0).

scenario 1)
Parsing the main() options, even the simple example from the tutorial,
section "getting started", terminates with an access violation when
calling po::store() without a usable stack trace;

scenario 2)
A simple call to po::split_winmain(L"\"--test\"") produces a crash. Note
the use of a wide character string.
The stack trace:

boost::program_options::detail::utf8_codecvt_facet::do_in()
boost::detail::convert<wchar_t,char,boost::_bi::bind_t<int,boost::_mfi::cmf7<int,std::codecvt<wchar_t,char,int>,int
&,char const *,char const *,char const * &,wchar_t *,wchar_t *,wchar_t *
&>,boost::_bi::list8<boost::_bi::value<std::codecvt<wchar_t,char,int>
const
*>,boost::arg<1>,boost::arg<2>,boost::arg<3>,boost::arg<4>,boost::arg<5>,boost::arg<6>,boost::arg<7>
> > >()
boost::from_8_bit()
boost::from_utf8()
boost::program_options::split_winmain()
wmain(int argc=3407872, wchar_t * * argv=0x00000000)

Did somebody encounter this issue?
Any solutions?

Thanks,
Klaus Triendl


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net