Modified: branches/safari-600.7-branch/Source/WebCore/ChangeLog (183142 => 183143)
--- branches/safari-600.7-branch/Source/WebCore/ChangeLog 2015-04-22 22:28:00 UTC (rev 183142)
+++ branches/safari-600.7-branch/Source/WebCore/ChangeLog 2015-04-22 22:34:36 UTC (rev 183143)
@@ -1,5 +1,21 @@
2015-04-22 Matthew Hanson <[email protected]>
+ Merge r182076. rdar://problem/20545378
+
+ 2015-03-27 Brent Fulgham <[email protected]>
+
+ Null dereference in InbandMetadataTextTrack handling
+ https://bugs.webkit.org/show_bug.cgi?id=143144
+ <rdar://problem/18983250>
+
+ Reviewed by Eric Carlson.
+
+ * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
+ (WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes): Check for null return value from
+ 'client()', just like we do in all other methods.
+
+2015-04-22 Matthew Hanson <[email protected]>
+
Merge r181656. rdar://problem/20545362
2015-03-17 Timothy Horton <[email protected]>
Modified: branches/safari-600.7-branch/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp (183142 => 183143)
--- branches/safari-600.7-branch/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp 2015-04-22 22:28:00 UTC (rev 183142)
+++ branches/safari-600.7-branch/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp 2015-04-22 22:34:36 UTC (rev 183143)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2014-2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -71,11 +71,13 @@
void InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes(const MediaTime& time)
{
if (time >= m_currentCueStartTime) {
- for (size_t i = 0; i < m_incompleteCues.size(); i++) {
- IncompleteMetaDataCue* partialCue = m_incompleteCues[i];
+ if (client()) {
+ for (size_t i = 0; i < m_incompleteCues.size(); i++) {
+ IncompleteMetaDataCue* partialCue = m_incompleteCues[i];
- LOG(Media, "InbandMetadataTextTrackPrivateAVF::addDataCue(%p) - updating cue: start=%s, end=%s", this, toString(partialCue->startTime()).utf8().data(), toString(time).utf8().data());
- client()->updateDataCue(this, partialCue->startTime(), time, partialCue->cueData());
+ LOG(Media, "InbandMetadataTextTrackPrivateAVF::addDataCue(%p) - updating cue: start=%s, end=%s", this, toString(partialCue->startTime()).utf8().data(), toString(time).utf8().data());
+ client()->updateDataCue(this, partialCue->startTime(), time, partialCue->cueData());
+ }
}
} else
LOG(Media, "InbandMetadataTextTrackPrivateAVF::addDataCue negative length cue(s) ignored: start=%s, end=%s\n", toString(m_currentCueStartTime).utf8().data(), toString(time).utf8().data());