From: Alan T. DeKok Date: Wed, 14 Sep 2016 15:03:06 +0000 (-0400) Subject: Use normal escape routines, and not special ones. X-Git-Tag: release_3_0_12~76 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=commitdiff_plain;h=d496ac5d4e32963bab3068ed34171afbcef831ce Use normal escape routines, and not special ones. --- diff --git a/src/modules/rlm_linelog/rlm_linelog.c b/src/modules/rlm_linelog/rlm_linelog.c index c3bc263..3d4219c 100644 --- a/src/modules/rlm_linelog/rlm_linelog.c +++ b/src/modules/rlm_linelog/rlm_linelog.c @@ -162,10 +162,6 @@ static size_t linelog_escape_func(UNUSED REQUEST *request, char *out, size_t outlen, char const *in, UNUSED void *arg) { - const char *p = in; - char *q = out; - size_t freespace = outlen; - if (outlen == 0) return 0; if (outlen == 1) { @@ -173,63 +169,7 @@ static size_t linelog_escape_func(UNUSED REQUEST *request, return 0; } - while (*p) { - int sp; - size_t len; - - if (freespace < 2) break; - - switch (*p) { - case '\r': - sp = 'r'; - break; - - case '\n': - sp = 'n'; - break; - - case '\t': - sp = 't'; - break; - - case '\\': - sp = '\\'; - break; - - default: - sp = 0; - break; - } - - if (sp) { - if (freespace < 3) break; - - *q++ = '\\'; - *q++ = sp; - freespace -= 2; - p++; - continue; - } - - if (*p >= ' ') { - *(q++) = *(p++); - freespace--; - continue; - } - - if (freespace < 5) break; - - snprintf(q, freespace, "\\%03o", (uint8_t) *p); - - len = strlen(q); - freespace -= len; - p++; - q += len; - } - - *q = '\0'; - - return q - out; + return fr_prints(out, outlen, in, -1, 0); } static rlm_rcode_t CC_HINT(nonnull) mod_do_linelog(void *instance, REQUEST *request)