projects
/
freeradius.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6700a14
)
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:47:14 +0000
(11:47 -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
0b85d33
..
056ca05
100644
(file)
--- a/
src/modules/rlm_sql/rlm_sql.c
+++ b/
src/modules/rlm_sql/rlm_sql.c
@@
-429,6
+429,24
@@
static size_t sql_escape_func(char *out, size_t outlen, const char *in)
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.