Unidac MariaDB BLOB Column Updating leads AV when using charset euckr

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
[email protected]
Posts: 2
Joined: Thu 11 Dec 2014 15:23

Unidac MariaDB BLOB Column Updating leads AV when using charset euckr

Post by [email protected] » Thu 11 Dec 2014 15:33

MariaDB 5.5 (win64)
Delphi XE2 - Unidac 5.1.4 - Also 6.0.1

with MariaDB with utf8-general-ci charset works well!

but AV occur when using charset euckr_korean_ci.

I Attached Sample Files.

http://wbjsoft.com/down/Unidac_BLOB_AV.zip

[email protected]
Posts: 2
Joined: Thu 11 Dec 2014 15:23

Re: Unidac MariaDB BLOB Column Updating leads AV when using charset euckr

Post by [email protected] » Sun 14 Dec 2014 09:32

I Sloved problem... with Full Source Compile.

MyClassesUni.pas

function EscapeAndQuoteStr(const p: PAnsiChar; Len: integer; const NeedBackslashes: boolean; const Charset: string): AnsiString; overload;
function mysql_real_escape_string(_to, from: PAnsiChar; length: longword): longword;
var
to_start, _end: PAnsiChar;
IsGbkOrEuckr, IsEuckr: boolean;
begin
IsEuckr := False // LowerCase(Charset) = 'euckr1'; // Why?
IsGbkOrEuckr := (LowerCase(Charset) = 'gbk') or IsEuckr;

I Don't know why...

and also I don't know side effect...

I'll test it... please reply why.

Thank you in advance.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Unidac MariaDB BLOB Column Updating leads AV when using charset euckr

Post by ViktorV » Wed 17 Dec 2014 09:18

Thank you for the information. The problem investigation is in progress. We will inform you when we have any results.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Unidac MariaDB BLOB Column Updating leads AV when using charset euckr

Post by ViktorV » Tue 30 Dec 2014 12:44

We have reproduced and fixed the issue. The fix will be included in the next MyDAC build.
We plan to release the new build of MyDAC with fixed error within 2 weeks.

Post Reply