# HG changeset patch # User Sergey Kitov # Date 1503558062 -10800 # Node ID df0a2f4282f87069fd63085b0a312d95c939c283 # Parent ff8873d5675ac6c76a95325f211d0e190cd2b2de lib-settings: Escape comma in section name. Comma is valid symbol in encoded non-ascii section names, so it shouldn't be used as splitting symbol in section name. diff -r ff8873d5675a -r df0a2f4282f8 src/lib-settings/settings-parser.c --- a/src/lib-settings/settings-parser.c Thu Aug 17 13:20:26 2017 +0300 +++ b/src/lib-settings/settings-parser.c Thu Aug 24 10:01:02 2017 +0300 @@ -2124,7 +2124,7 @@ 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; @@ -2151,6 +2151,9 @@ case ' ': str_append(str, "\\_"); break; + case ',': + str_append(str, "\\+"); + break; default: str_append_c(str, name[i]); break;