From 490e411814ff8cc5c4c9d26bf7987cd7254fa06a Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 17 Feb 2002 09:37:23 +0000 Subject: [PATCH] Don't crash if special vars line ends with '$'. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2488 dbcabf3a-b0e7-0310-adc4-f8d773084564 --- src/core/special-vars.c | 2 ++ src/fe-common/core/themes.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/special-vars.c b/src/core/special-vars.c index 4b1f535b..2556cd63 100644 --- a/src/core/special-vars.c +++ b/src/core/special-vars.c @@ -362,6 +362,8 @@ char *parse_special(char **cmd, SERVER_REC *server, void *item, int brackets, nest_free; *free_ret = FALSE; + if (**cmd == '\0') + return NULL; command = **cmd; (*cmd)++; switch (command) { diff --git a/src/fe-common/core/themes.c b/src/fe-common/core/themes.c index f1b871b2..514dd377 100644 --- a/src/fe-common/core/themes.c +++ b/src/fe-common/core/themes.c @@ -146,7 +146,9 @@ static void theme_format_append_variable(GString *str, const char **format) value = parse_special((char **) format, NULL, NULL, args, &free_ret, NULL, PARSE_FLAG_ONLY_ARGS); if (free_ret) g_free(value); - (*format)++; + + if (**format != '\0') + (*format)++; /* append the variable name */ value = g_strndup(orig, (int) (*format-orig));