DADump's backup error

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
a.alekizoglou
Posts: 32
Joined: Fri 22 Sep 2006 08:32

DADump's backup error

Post by a.alekizoglou » Mon 28 Jul 2014 15:08

Hi,

with uniDAC 5.2.8, I am using the DADump to make a backup. In a table with more than 1000 rows the flow goes to Memdata's, iterates three times in the while loop, and get an invalid pointer into Item. After that I have an AV in the while loop's Item.Order

Code: Select all

procedure SetRecordNo(Value: Longint);
.
.
.
    if (Value < Abs(LastOrderedItem.Order + FRecordNoOffset - Value)) and
      (Value < Abs(CurrItem.Order + FRecordNoOffset - Value))
    then begin
    // from first
      Item := FirstItem;
      ForwardDir := True;
    end
.
.
.
    while (IntPtr(Item) <> nil) and (Item.Order + FRecordNoOffset <> Value) do
      if ForwardDir then begin
        if IntPtr(Item.Next) = nil then
          Fetch;
        Item := Item.Next
      end
      else
        Item := Item.Prev;
.
.
Have you noticed that?

a.alekizoglou
Posts: 32
Joined: Fri 22 Sep 2006 08:32

Re: DADump's backup error

Post by a.alekizoglou » Tue 29 Jul 2014 11:41

Well, it seems that is fixed.

I tried with 5.3.9, and the problem is fixed.

PavloP
Devart Team
Posts: 149
Joined: Fri 24 Jan 2014 12:33

Re: DADump's backup error

Post by PavloP » Tue 29 Jul 2014 11:58

It is good to see that the problem has been solved.

Post Reply