Mercurial > vim
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; |