projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6e85a73
)
Allow all UTF-8 characters
author
Alan T. DeKok
<aland@freeradius.org>
Mon, 3 Nov 2014 16:45:27 +0000
(11:45 -0500)
committer
Alan T. DeKok
<aland@freeradius.org>
Mon, 3 Nov 2014 16:45:36 +0000
(11:45 -0500)
src/modules/rlm_sql/rlm_sql.c
patch
|
blob
|
history
diff --git
a/src/modules/rlm_sql/rlm_sql.c
b/src/modules/rlm_sql/rlm_sql.c
index
95e1680
..
db021d7
100644
(file)
--- a/
src/modules/rlm_sql/rlm_sql.c
+++ b/
src/modules/rlm_sql/rlm_sql.c
@@
-380,6
+380,24
@@
static size_t sql_escape_func(UNUSED REQUEST *request, char *out, size_t outlen,
size_t len = 0;
while (in[0]) {
+ size_t utf8_len;
+
+ /*
+ * Allow all multi-byte UTF8 characters.
+ */
+ utf8_len = fr_utf8_char((uint8_t const *) in);
+ if (utf8_len > 1) {
+ if (outlen <= utf8_len) break;
+
+ memcpy(out, in, utf8_len);
+ in += utf8_len;
+ out += utf8_len;
+
+ outlen -= utf8_len;
+ len += utf8_len;
+ continue;
+ }
+
/*
* Non-printable characters get replaced with their
* mime-encoded equivalents.