X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcstrutil.c;h=5e6a592bce8484a37205d71c0379ba098f86217f;hb=103b560c55e218ad043094bdcb29e709158c3b5b;hp=ebc24691a46e18311bdac91571124ef299c26642;hpb=df0a0039c8f1faa91ebadf47d889efe50fde562f;p=crypto.git diff --git a/lib/silcutil/silcstrutil.c b/lib/silcutil/silcstrutil.c index ebc24691..5e6a592b 100644 --- a/lib/silcutil/silcstrutil.c +++ b/lib/silcutil/silcstrutil.c @@ -187,6 +187,11 @@ SilcUInt32 silc_utf8_encode(const unsigned char *bin, SilcUInt32 bin_len, if (!bin || !bin_len) return 0; + if (silc_utf8_valid(bin, bin_len) && bin_len <= utf8_size) { + memcpy(utf8, bin, bin_len); + return bin_len; + } + for (i = 0; i < bin_len; i++) { switch (bin_encoding) { case SILC_STRING_ASCII: