You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2007/03/24 01:34:32 UTC

[jira] Created: (STDCXX-370) SIGSEGV in localedef on "<" as negative_sign in LC_MONETARY

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


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, 
    str1=@0x7fbfffdea0) at /amd/devco/sebor/stdcxx/util/def.cpp:286
286                 while (str[idx] != '>') {
(gdb) where
#0  0x00000000004496a8 in Def::convert_string (this=0x7fbfffdda0, 
    str1=@0x7fbfffdea0) 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.


[jira] Closed: (STDCXX-370) SIGSEGV in localedef on "<" as negative_sign in LC_MONETARY

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/STDCXX-370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Sebor closed STDCXX-370.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 4.2

Fixed.

> 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
>             Fix For: 4.2
>
>
> 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, 
>     str1=@0x7fbfffdea0) at /amd/devco/sebor/stdcxx/util/def.cpp:286
> 286                 while (str[idx] != '>') {
> (gdb) where
> #0  0x00000000004496a8 in Def::convert_string (this=0x7fbfffdda0, 
>     str1=@0x7fbfffdea0) 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.


[jira] Assigned: (STDCXX-370) SIGSEGV in localedef on "<" as negative_sign in LC_MONETARY

Posted by "Martin Sebor (JIRA)" <ji...@apache.org>.
     [ 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, 
>     str1=@0x7fbfffdea0) at /amd/devco/sebor/stdcxx/util/def.cpp:286
> 286                 while (str[idx] != '>') {
> (gdb) where
> #0  0x00000000004496a8 in Def::convert_string (this=0x7fbfffdda0, 
>     str1=@0x7fbfffdea0) 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.