mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 15:32:59 +02:00
eitd/sectionsd.cpp void addEven: crash fix, do not use iterator without locking
This commit is contained in:
@@ -453,7 +453,7 @@ xprintf("addEvent: ch %012" PRIx64 " running %d (%s) got_CN %d\n", evt.get_chann
|
||||
}
|
||||
deleteEvent(e->uniqueKey());
|
||||
readLockEvents();
|
||||
if ( !mySIeventsOrderUniqueKey.empty() && mySIeventsOrderUniqueKey.size() >= max_events && max_events != 0 ) {
|
||||
if ( !mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.empty() && mySIeventsOrderUniqueKey.size() >= max_events && max_events != 0 ) {
|
||||
MySIeventsOrderFirstEndTimeServiceIDEventUniqueKey::iterator lastEvent =
|
||||
mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.begin();
|
||||
|
||||
@@ -464,7 +464,7 @@ xprintf("addEvent: ch %012" PRIx64 " running %d (%s) got_CN %d\n", evt.get_chann
|
||||
#else
|
||||
time_t now = time(NULL);
|
||||
bool back = false;
|
||||
if (*lastEvent!=NULL && (*lastEvent)->times.size() == 1)
|
||||
if ((*lastEvent)->times.size() == 1)
|
||||
{
|
||||
if ((*lastEvent)->times.begin()->startzeit + (long)(*lastEvent)->times.begin()->dauer >= now - oldEventsAre)
|
||||
back = true;
|
||||
@@ -485,10 +485,10 @@ xprintf("addEvent: ch %012" PRIx64 " running %d (%s) got_CN %d\n", evt.get_chann
|
||||
}
|
||||
unlockMessaging();
|
||||
}
|
||||
event_id_t uniqueKey = (*lastEvent)->uniqueKey();
|
||||
// else fprintf(stderr, ">");
|
||||
unlockEvents();
|
||||
if(*lastEvent!=NULL)
|
||||
deleteEvent((*lastEvent)->uniqueKey());
|
||||
deleteEvent(uniqueKey);
|
||||
}
|
||||
else
|
||||
unlockEvents();
|
||||
|
Reference in New Issue
Block a user