From cf061cd3aed754ad9128960e68dd33533ac9549f Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 7 Aug 2011 18:17:56 +0000 Subject: [PATCH] * provide terminating #0's to wide and stringfields, Patch from Ludo Brands Mantis 199222 git-svn-id: trunk@18140 - --- packages/fcl-db/src/base/fields.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/fcl-db/src/base/fields.inc b/packages/fcl-db/src/base/fields.inc index b5a5a8e9cd..c291d32794 100644 --- a/packages/fcl-db/src/base/fields.inc +++ b/packages/fcl-db/src/base/fields.inc @@ -1102,6 +1102,7 @@ begin if DataSize <= dsMaxStringSize then begin Result:=GetData(@Buf); + buf[Size]:=#0; //limit string to Size If Result then begin if transliterate then @@ -1117,6 +1118,7 @@ begin begin SetLength(DynBuf,DataSize); Result:=GetData(@DynBuf[0]); + Dynbuf[Size]:=#0; //limit string to Size If Result then begin if transliterate then @@ -1223,11 +1225,13 @@ var begin if DataSize <= dsMaxStringSize then begin Result := GetData(@FixBuffer, False); + FixBuffer[Size]:=#0; //limit string to Size aValue := FixBuffer; end else begin SetLength(DynBuffer, Succ(Size)); Buffer := PWideChar(DynBuffer); Result := GetData(Buffer, False); + Buffer[Size]:=#0; //limit string to Size if Result then aValue := Buffer; end;