To: vim_dev@googlegroups.com Subject: Patch 7.3.366 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.366 Problem: A tags file with an extremely long name causes errors. Solution: Ignore tags that are too long. (Arno Renevier) Files: src/tag.c *** ../vim-7.3.365/src/tag.c 2011-10-12 19:53:31.000000000 +0200 --- src/tag.c 2011-12-08 13:32:51.000000000 +0100 *************** *** 1906,1917 **** tagp.tagname = lbuf; #ifdef FEAT_TAG_ANYWHITE tagp.tagname_end = skiptowhite(lbuf); ! if (*tagp.tagname_end == NUL) /* corrupted tag line */ #else tagp.tagname_end = vim_strchr(lbuf, TAB); ! if (tagp.tagname_end == NULL) /* corrupted tag line */ #endif { line_error = TRUE; break; } --- 1906,1931 ---- tagp.tagname = lbuf; #ifdef FEAT_TAG_ANYWHITE tagp.tagname_end = skiptowhite(lbuf); ! if (*tagp.tagname_end == NUL) #else tagp.tagname_end = vim_strchr(lbuf, TAB); ! if (tagp.tagname_end == NULL) #endif { + if (vim_strchr(lbuf, NL) == NULL) + { + /* Truncated line, ignore it. Has been reported for + * Mozilla JS with extremely long names. */ + if (p_verbose >= 5) + { + verbose_enter(); + MSG(_("Ignoring long line in tags file")); + verbose_leave(); + } + continue; + } + + /* Corrupted tag line. */ line_error = TRUE; break; } *** ../vim-7.3.365/src/version.c 2011-12-08 15:09:46.000000000 +0100 --- src/version.c 2011-12-08 15:11:10.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 366, /**/ -- hundred-and-one symptoms of being an internet addict: 246. You use up your free 100 hours in less than a week. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///