If TJvMemoryData.LoadFromDataSet is supplied with an empty inputfile, it crashes at the end when trying to go back to the original position in the inputfile.

The patch I use is (see line marked with BDR):

finally
// move back to where we started from
if not Source.IsEmpty (*** BDR *)
then if Source.BookmarkValid(SB) then
begin
Source.GotoBookmark(SB);
Source.FreeBookmark(SB);
end;
if not SourceActive then
Source.Close;
Source.EnableControls;
FSaveLoadState := slsNone;
end;