diff --git a/src/mod/applications/mod_enum/mod_enum.c b/src/mod/applications/mod_enum/mod_enum.c index 03f57cbdbd..bef5cfa6e4 100644 --- a/src/mod/applications/mod_enum/mod_enum.c +++ b/src/mod/applications/mod_enum/mod_enum.c @@ -285,6 +285,7 @@ static void parse_rr(const struct dns_parse *p, enum_query_t * q, struct dns_rr char *service = NULL; char *regex = NULL; char *replace = NULL; + char *ptr; int argc = 0; char *argv[4] = { 0 }; int n; @@ -333,6 +334,12 @@ static void parse_rr(const struct dns_parse *p, enum_query_t * q, struct dns_rr goto xperr; } + for (ptr = replace; ptr && *ptr; ptr++) { + if (*ptr == '\\') { + *ptr = '$'; + } + } + if (flags && service && regex && replace) { switch_regex_t *re = NULL; int proceed = 0, ovector[30];