comparison src/tag.c @ 19237:1a3ebc75cf39 v8.2.0177

patch 8.2.0177: memory leak in get_tags() Commit: https://github.com/vim/vim/commit/70b3e706b40fc2c84c1f9f33fa64945a481df395 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 29 22:38:45 2020 +0100 patch 8.2.0177: memory leak in get_tags() Problem: Memory leak in get_tags(). Solution: Free matches when finding a pseudo-tag line. (Dominique Pelle, closes #5553)
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 Jan 2020 22:45:08 +0100
parents 2ef19eed524a
children c53dbbf3229b
comparison
equal deleted inserted replaced
19236:f34487e42001 19237:1a3ebc75cf39
3978 parse_match(matches[i], &tp); 3978 parse_match(matches[i], &tp);
3979 is_static = test_for_static(&tp); 3979 is_static = test_for_static(&tp);
3980 3980
3981 // Skip pseudo-tag lines. 3981 // Skip pseudo-tag lines.
3982 if (STRNCMP(tp.tagname, "!_TAG_", 6) == 0) 3982 if (STRNCMP(tp.tagname, "!_TAG_", 6) == 0)
3983 {
3984 vim_free(matches[i]);
3983 continue; 3985 continue;
3986 }
3984 3987
3985 if ((dict = dict_alloc()) == NULL) 3988 if ((dict = dict_alloc()) == NULL)
3986 ret = FAIL; 3989 ret = FAIL;
3987 if (list_append_dict(list, dict) == FAIL) 3990 if (list_append_dict(list, dict) == FAIL)
3988 ret = FAIL; 3991 ret = FAIL;