From a61218b10dc909b001e88db9fd71de7fa791120c Mon Sep 17 00:00:00 2001 From: Mark Hellegers Date: Sun, 30 Oct 2016 15:30:50 +0000 Subject: [PATCH] Fix #13042: Make sure all cookies are saved --- src/kits/network/libnetapi/NetworkCookieJar.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/kits/network/libnetapi/NetworkCookieJar.cpp b/src/kits/network/libnetapi/NetworkCookieJar.cpp index 677cdb22a9..c94e0a1f2f 100644 --- a/src/kits/network/libnetapi/NetworkCookieJar.cpp +++ b/src/kits/network/libnetapi/NetworkCookieJar.cpp @@ -603,6 +603,13 @@ BNetworkCookieJar::Iterator::NextDomain() fList = *fIterator->fCookieMapIterator.NextValue(); fList->LockForReading(); + while (fList->CountItems() == 0 && fIterator->fCookieMapIterator.HasNext()) { + // Empty list. Skip it + fList->Unlock(); + fList = *fIterator->fCookieMapIterator.NextValue(); + fList->LockForReading(); + } + fCookieJar->fCookieHashMap->Unlock(); } @@ -686,6 +693,13 @@ BNetworkCookieJar::Iterator::_FindNext() fList = *(fIterator->fCookieMapIterator.NextValue()); fList->LockForReading(); + while (fList->CountItems() == 0 && fIterator->fCookieMapIterator.HasNext()) { + // Empty list. Skip it + fList->Unlock(); + fList = *fIterator->fCookieMapIterator.NextValue(); + fList->LockForReading(); + } + fCookieJar->fCookieHashMap->Unlock(); }