From: Tanaka Akira Date: 2007-06-28T00:41:58+09:00 Subject: [ruby-dev:31070] Use of uninitialised value by /\s/u valgrind の結果をまた調べると、/\s/u で未初期化メモリを使用 するようです。 % valgrind ./ruby -ve '/\s/u' ==13719== Memcheck, a memory error detector. ==13719== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al. ==13719== Using LibVEX rev 1658, a library for dynamic binary translation. ==13719== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==13719== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation framework. ==13719== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==13719== For more details, rerun with: -v ==13719== --13719-- DWARF2 CFI reader: unhandled CFI instruction 0:50 --13719-- DWARF2 CFI reader: unhandled CFI instruction 0:50 --13719-- DWARF2 CFI reader: unhandled CFI instruction 0:50 --13719-- DWARF2 CFI reader: unhandled CFI instruction 0:50 ruby 1.9.0 (2007-06-27 patchlevel 0) [i686-linux] ==13719== Use of uninitialised value of size 4 ==13719== at 0x80C3A6B: st_add_direct (st.c:301) ==13719== by 0x80BB407: parse_exp (regparse.c:5046) ==13719== by 0x80BB9E4: parse_branch (regparse.c:5223) ==13719== by 0x80BBB3B: parse_subexp (regparse.c:5260) ==13719== by 0x80BBCDC: parse_regexp (regparse.c:5304) ==13719== by 0x80BBD8E: onig_parse_make_tree (regparse.c:5331) ==13719== by 0x80A7B89: onig_compile (regcomp.c:5364) ==13719== by 0x809A50F: make_regexp (re.c:711) ==13719== by 0x809BF34: rb_reg_initialize (re.c:1489) ==13719== by 0x809C0CD: rb_reg_compile (re.c:1527) ==13719== by 0x8086D46: ruby_yyparse (parse.y:3601) ==13719== by 0x8088AD6: yycompile (parse.y:4626) ==13719== ==13719== Use of uninitialised value of size 4 ==13719== at 0x80C3A84: st_add_direct (st.c:301) ==13719== by 0x80BB407: parse_exp (regparse.c:5046) ==13719== by 0x80BB9E4: parse_branch (regparse.c:5223) ==13719== by 0x80BBB3B: parse_subexp (regparse.c:5260) ==13719== by 0x80BBCDC: parse_regexp (regparse.c:5304) ==13719== by 0x80BBD8E: onig_parse_make_tree (regparse.c:5331) ==13719== by 0x80A7B89: onig_compile (regcomp.c:5364) ==13719== by 0x809A50F: make_regexp (re.c:711) ==13719== by 0x809BF34: rb_reg_initialize (re.c:1489) ==13719== by 0x809C0CD: rb_reg_compile (re.c:1527) ==13719== by 0x8086D46: ruby_yyparse (parse.y:3601) ==13719== by 0x8088AD6: yycompile (parse.y:4626) warning: useless use of a literal in void context ==13719== ==13719== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 19 from 1) ==13719== malloc/free: in use at exit: 881,991 bytes in 7,040 blocks. ==13719== malloc/free: 7,136 allocs, 96 frees, 888,749 bytes allocated. ==13719== For counts of detected errors, rerun with: -v ==13719== searching for pointers to 7,040 not-freed blocks. ==13719== checked 649,916 bytes. ==13719== ==13719== LEAK SUMMARY: ==13719== definitely lost: 0 bytes in 0 blocks. ==13719== possibly lost: 68 bytes in 1 blocks. ==13719== still reachable: 881,923 bytes in 7,039 blocks. ==13719== suppressed: 0 bytes in 0 blocks. ==13719== Reachable blocks (those to which a pointer was found) are not shown. ==13719== To see them, rerun with: --show-reachable=yes -- [田中 哲][たなか あきら][Tanaka Akira]