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
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui