diff options
-rw-r--r-- | src/rcl/rcl_parser.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rcl/rcl_parser.c b/src/rcl/rcl_parser.c index 0b69d25bc..7989ece15 100644 --- a/src/rcl/rcl_parser.c +++ b/src/rcl/rcl_parser.c @@ -250,6 +250,8 @@ rspamd_cl_lex_number (struct rspamd_cl_parser *parser, else { got_dot = TRUE; need_double = TRUE; + rspamd_cl_chunk_skipc (chunk, *p); + p ++; } } else if (*p == 'e' || *p == 'E') { @@ -265,10 +267,14 @@ rspamd_cl_lex_number (struct rspamd_cl_parser *parser, if (p >= chunk->end) { return FALSE; } - if (!g_ascii_isdigit (*p) && *p != '+' && *p == '-') { + if (!g_ascii_isdigit (*p) && *p != '+' && *p != '-') { /* Wrong exponent sign */ return FALSE; } + else { + rspamd_cl_chunk_skipc (chunk, *p); + p ++; + } } } else { |