From: Alan T. DeKok Date: Wed, 30 Dec 2015 16:44:25 +0000 (-0500) Subject: fixes found from additional tests in 3.1 X-Git-Tag: release_3_0_11~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ca5455edc4cd885574cfb47e19f29a18b698928;p=thirdparty%2Ffreeradius-server.git fixes found from additional tests in 3.1 --- diff --git a/src/main/evaluate.c b/src/main/evaluate.c index c00a92a76c7..667d0d963a1 100644 --- a/src/main/evaluate.c +++ b/src/main/evaluate.c @@ -366,10 +366,12 @@ static size_t regex_escape(UNUSED REQUEST *request, char *out, size_t outlen, ch if (outlen < 3) goto done; *(p++) = '\\'; + outlen--; /* FALL-THROUGH */ default: *(p++) = *(in++); + outlen--; break; } } @@ -452,7 +454,8 @@ do {\ #ifdef HAVE_REGEX if (map->op == T_OP_REG_EQ) { cast_type = PW_TYPE_STRING; - escape = regex_escape; + + if (map->rhs->type == TMPL_TYPE_XLAT_STRUCT) escape = regex_escape; } else #endif