|Subject:||TIdCookieManager -> A/V|
|Posted by:||Steven Forbes (…@not_an_address.com)|
|Date:||Thu, 29 Jul 2004|
I'm getting an AccessViolation in the TIdCookieManager.pas unit - dated 26.5.2004. I can reproduce the problem consistently, but not
in any straightforward, easily demonstrable way.
The error is -
EStringListError: List index out of bounds (0)
...and occurs on line 249. I don't know the precise cause, but I speculate that it's because of the nature of the loop in the
CleanupCookieList method. We have
for j := LCookieList.Count - 1 downto 0 do
S := LCookieList.Cookies[j].Expires;
if (Length(S) > 0) and (GMTToLocalDateTime(S) < Now) then
// The Cookie has exiered. It has to be removed from the collection
...I note that the exception occurs after an item has been removed from LCookieList. Since this is a for-loop, the 'j' counter isn't
adjusted to compensate for the removed item - so I think it might be something to do with that: I'll try again and see if I can get
a more accurate impression. I'll also try changing the loop to a 'while', and see whether that makes any difference.