Skip to content

Commit

Permalink
lib-settings: Escape comma in section name.
Browse files Browse the repository at this point in the history
Comma is valid symbol in encoded non-ascii section names, so it
shouldn't be used as splitting symbol in section name.
  • Loading branch information
Sergey-Kitov committed Aug 25, 2017
1 parent 086e8ec commit 56fbb7e
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/lib-settings/settings-parser.c
Expand Up @@ -2166,7 +2166,7 @@ int settings_parser_apply_changes(struct setting_parser_context *dest,
const char *settings_section_escape(const char *name)
{
#define CHAR_NEED_ESCAPE(c) \
((c) == '=' || (c) == SETTINGS_SEPARATOR || (c) == '\\' || (c) == ' ')
((c) == '=' || (c) == SETTINGS_SEPARATOR || (c) == '\\' || (c) == ' ' || (c) == ',')
string_t *str;
unsigned int i;

Expand All @@ -2193,6 +2193,9 @@ const char *settings_section_escape(const char *name)
case ' ':
str_append(str, "\\_");
break;
case ',':
str_append(str, "\\+");
break;
default:
str_append_c(str, name[i]);
break;
Expand Down

0 comments on commit 56fbb7e

Please sign in to comment.