Modified: trunk/Source/WebCore/ChangeLog (182075 => 182076)
--- trunk/Source/WebCore/ChangeLog 2015-03-27 20:39:49 UTC (rev 182075)
+++ trunk/Source/WebCore/ChangeLog 2015-03-27 20:41:33 UTC (rev 182076)
@@ -1,3 +1,15 @@
+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-03-27 Oliver Hunt <[email protected]>
Forward additional CFNetwork ATS information to child processes
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp (182075 => 182076)
--- trunk/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp 2015-03-27 20:39:49 UTC (rev 182075)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp 2015-03-27 20:41:33 UTC (rev 182076)
@@ -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,9 +71,11 @@
void InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes(const MediaTime& time)
{
if (time >= m_currentCueStartTime) {
- for (auto& partialCue : m_incompleteCues) {
- 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);
+ if (client()) {
+ for (auto& partialCue : m_incompleteCues) {
+ 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());