tag: fix crash on empty tag specifier, “{}”

For strings with empty tag specifiers, “{}”, we ended up calling
tag_for_name() with a NULL pointer for name. This caused us to crash.

Closes #48
This commit is contained in:
Daniel Eklöf 2021-05-25 17:34:09 +02:00
parent cb45e53cb4
commit 5c4ae642f2
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 2 deletions

5
tag.c
View file

@ -446,8 +446,9 @@ tags_expand_template(const char *template, const struct tag_set *tags)
}
/* Lookup tag */
const struct tag *tag = tag_for_name(tags, tag_name);
if (tag == NULL) {
const struct tag *tag = NULL;
if (tag_name == NULL || (tag = tag_for_name(tags, tag_name)) == NULL) {
/* No such tag, copy as-is instead */
sbuf_append_at_most(&formatted, template, begin - template + 1);
template = begin + 1;