[ 
https://issues.apache.org/jira/browse/STDCXX-370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Sebor reassigned STDCXX-370:
-----------------------------------

    Assignee: Martin Sebor

> SIGSEGV in localedef on "<" as negative_sign in LC_MONETARY
> -----------------------------------------------------------
>
>                 Key: STDCXX-370
>                 URL: https://issues.apache.org/jira/browse/STDCXX-370
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 4.1.3
>            Reporter: Martin Sebor
>         Assigned To: Martin Sebor
>
> The following made up LC_MONETARY section causes localedef to die with a 
> SIGSEGV:
> $ cat foo.src && ./localedef -w -c -f 
> /nfs/devco/sebor/stdcxx/etc/nls/charmaps/ISO-8859-1 -i foo.src foo || gdb -q 
> ./localedef
> LC_MONETARY
> int_curr_symbol       "ABCD"
> currency_symbol       "klmn"
> mon_decimal_point     "@"
> mon_thousands_sep     "|"
> mon_grouping          5
> positive_sign         "<"
> negative_sign         ">"
> int_frac_digits       6 
> frac_digits           7
> p_cs_precedes         1
> p_sep_by_space        1
> n_cs_precedes         1
> n_sep_by_space        1
> p_sign_posn           1
> n_sign_posn           2
> END LC_MONETARY
> Segmentation fault
> Using host libthread_db library "/lib64/tls/libthread_db.so.1".
> (gdb) run -w -c -f /nfs/devco/sebor/stdcxx/etc/nls/charmaps/ISO-8859-1 -i 
> foo.src foo
> Starting program: /build/sebor/stdcxx-gcc-3.4.6-11S/bin/localedef -w -c -f 
> /nfs/devco/sebor/stdcxx/etc/nls/charmaps/ISO-8859-1 -i foo.src foo
> Detaching after fork from child process 28327.
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004496a8 in Def::convert_string (this=0x7fbfffdda0, 
>     [EMAIL PROTECTED]) at /amd/devco/sebor/stdcxx/util/def.cpp:286
> 286                 while (str[idx] != '>') {
> (gdb) where
> #0  0x00000000004496a8 in Def::convert_string (this=0x7fbfffdda0, 
>     [EMAIL PROTECTED]) at /amd/devco/sebor/stdcxx/util/def.cpp:286
> #1  0x000000000045c5d3 in Def::process_monetary (this=0x7fbfffdda0)
>     at /amd/devco/sebor/stdcxx/util/monetary.cpp:142
> #2  0x000000000044a13a in Def::process_input (this=0x7fbfffdda0)
>     at /amd/devco/sebor/stdcxx/util/def.cpp:502
> #3  0x0000000000403c07 in create_locale (std_src=
>       {<std::allocator<char>> = {<No data fields>}, static npos = 
> 18446744073709551615, static _C_null_ref = 
> {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = 
> {_C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos 
> = 0 '\0'}, _C_data = 0x6a1608 "foo.src"}, std_cmap=
>       {<std::allocator<char>> = {<No data fields>}, static npos = 
> 18446744073709551615, static _C_null_ref = 
> {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = 
> {_C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos 
> = 0 '\0'}, _C_data = 0x6a15a8 
> "/nfs/devco/sebor/stdcxx/etc/nls/charmaps/ISO-8859-1"}, outdir=
>       {<std::allocator<char>> = {<No data fields>}, static npos = 
> 18446744073709551615, static _C_null_ref = 
> {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = 
> {_C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos 
> = 0 '\0'}, _C_data = 0x68e378 ""}, std_locale=
>       {<std::allocator<char>> = {<No data fields>}, static npos = 
> 18446744073709551615, static _C_null_ref = 
> {<__rw::__string_ref<char,std::char_traits<char>,std::allocator<char> >> = 
> {_C_refs = 0, _C_cap = 0, _C_size = {_C_size = 0, _C_dummy = 0 '\0'}}, _C_eos 
> = 0 '\0'}, _C_data = 0x6a1558 "foo"}, force_output=true, 
>     use_ucs=false, no_position=false, link_aliases=false)
>     at /amd/devco/sebor/stdcxx/util/localedef.cpp:210
> #4  0x000000000040574f in main (argc=8, argv=0x7fbffff578)
>     at /amd/devco/sebor/stdcxx/util/localedef.cpp:558

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to