Hi, Valgrind memory checker finds several errors in vim-7.1 (patches 1-50) when built with --enable-multibyte:
$ ./configure --enable-multibyte $ make CFLAGS="-O0 -g" $ cd src/testdir $ valgrind ../vim -u unix.vim -U NONE --noplugin -s dotest.in test45.in 2> valgrind-test45.txt $ cat val valgrind-test45.txt ... ==14428== Conditional jump or move depends on uninitialised value(s) ==14428== at 0x80FDD10: utfc_ptr2len (mbyte.c:1676) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) ==14428== ==14428== Conditional jump or move depends on uninitialised value(s) ==14428== at 0x80FDD49: utfc_ptr2len (mbyte.c:1695) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) ==14428== ==14428== Conditional jump or move depends on uninitialised value(s) ==14428== at 0x80FD627: utf_ptr2char (mbyte.c:1373) ==14428== by 0x80FDD58: utfc_ptr2len (mbyte.c:1695) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) ==14428== ==14428== Use of uninitialised value of size 4 ==14428== at 0x80FD643: utf_ptr2char (mbyte.c:1376) ==14428== by 0x80FDD58: utfc_ptr2len (mbyte.c:1695) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) ==14428== ==14428== Conditional jump or move depends on uninitialised value(s) ==14428== at 0x80FD666: utf_ptr2char (mbyte.c:1377) ==14428== by 0x80FDD58: utfc_ptr2len (mbyte.c:1695) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) ==14428== ==14428== Conditional jump or move depends on uninitialised value(s) ==14428== at 0x80FD227: intable (mbyte.c:1108) ==14428== by 0x80FE0C6: utf_iscomposing (mbyte.c:1873) ==14428== by 0x80FDD60: utfc_ptr2len (mbyte.c:1695) ==14428== by 0x813EB6B: win_line (screen.c:3586) ==14428== by 0x813BBF0: win_update (screen.c:1760) ==14428== by 0x8139FFE: update_screen (screen.c:522) ==14428== by 0x80CD1CF: main_loop (main.c:1088) ==14428== by 0x80CCF72: main (main.c:939) Some other tests have other errors, for example: $ vim -u unix.vim -U NONE --noplugin -s dotest.in test58.in 2> valgrind-test58.txt ... ==21204== Use of uninitialised value of size 4 ==21204== at 0x812BDD7: spell_iswordp (spell.c:9793) ==21204== by 0x81332C8: suggest_trie_walk (spell.c:12278) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== ==21204== Use of uninitialised value of size 4 ==21204== at 0x812BDC0: spell_iswordp (spell.c:9793) ==21204== by 0x81332C8: suggest_trie_walk (spell.c:12278) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== ==21204== Conditional jump or move depends on uninitialised value(s) ==21204== at 0x8131E63: suggest_trie_walk (spell.c:12290) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== by 0x8073ADB: eval1 (eval.c:3893) ==21204== ==21204== Conditional jump or move depends on uninitialised value(s) ==21204== at 0x8131E6B: suggest_trie_walk (spell.c:12290) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== by 0x8073ADB: eval1 (eval.c:3893) ==21204== ==21204== Conditional jump or move depends on uninitialised value(s) ==21204== at 0x8132112: suggest_trie_walk (spell.c:11824) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== by 0x8073ADB: eval1 (eval.c:3893) ==21204== ==21204== Conditional jump or move depends on uninitialised value(s) ==21204== at 0x8132179: suggest_trie_walk (spell.c:11862) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== by 0x8073ADB: eval1 (eval.c:3893) ==21204== ==21204== Conditional jump or move depends on uninitialised value(s) ==21204== at 0x81325B0: suggest_trie_walk (spell.c:11354) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== by 0x8073ADB: eval1 (eval.c:3893) ==21204== ==21204== Use of uninitialised value of size 4 ==21204== at 0x812BDD7: spell_iswordp (spell.c:9793) ==21204== by 0x81339C0: suggest_trie_walk (spell.c:11354) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) ==21204== ==21204== Use of uninitialised value of size 4 ==21204== at 0x812BDC0: spell_iswordp (spell.c:9793) ==21204== by 0x81339C0: suggest_trie_walk (spell.c:11354) ==21204== by 0x8141CBB: spell_find_suggest (spell.c:11137) ==21204== by 0x81429FC: spell_suggest_list (spell.c:10402) ==21204== by 0x806F95B: f_spellsuggest (eval.c:15224) ==21204== by 0x8071DE8: call_func (eval.c:7608) ==21204== by 0x80746DF: get_func_tv (eval.c:7426) ==21204== by 0x8075699: eval7 (eval.c:4682) ==21204== by 0x807621C: eval6 (eval.c:4451) ==21204== by 0x8072F91: eval5 (eval.c:4320) ==21204== by 0x80731DD: eval4 (eval.c:4052) ==21204== by 0x80739AC: eval3 (eval.c:3964) -- Dominique --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---
