From affbb9c8cdc5dee6cbfd6072318006666384723b Mon Sep 17 00:00:00 2001 From: Adam Poit Date: Thu, 25 May 2017 16:18:48 -0700 Subject: [PATCH] Escape single quote and backslash when writing GUIDs as byte arrays. --- src/MySqlConnector/MySqlClient/MySqlParameter.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/MySqlConnector/MySqlClient/MySqlParameter.cs b/src/MySqlConnector/MySqlClient/MySqlParameter.cs index 0cec377e4..3a4eddb35 100644 --- a/src/MySqlConnector/MySqlClient/MySqlParameter.cs +++ b/src/MySqlConnector/MySqlClient/MySqlParameter.cs @@ -161,7 +161,12 @@ internal void AppendSqlString(BinaryWriter writer, StatementPreparerOptions opti if ((options & StatementPreparerOptions.OldGuids) != 0) { writer.WriteUtf8("_binary'"); - writer.Write(guidValue.ToByteArray()); + foreach (var by in guidValue.ToByteArray()) + { + if (by == 0x27 || by == 0x5C) + writer.Write((byte) 0x5C); + writer.Write(by); + } writer.Write((byte) '\''); } else