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(); }