aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch b/gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch
new file mode 100644
index 0000000000..0b91b1ec86
--- /dev/null
+++ b/gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch
@@ -0,0 +1,57 @@
+From 6465a9f57b13fdf3d21016a41973f13d1e7f447c Mon Sep 17 00:00:00 2001
+From: Bobby Holley <bobbyholley@gmail.com>
+Date: Wed, 13 May 2015 11:08:30 -0700
+Subject: [PATCH] Bug 1164567 - Grab the principal when we need it in
+ MediaDecodeTask. r=jww, a=sledru
+
+---
+ content/media/webaudio/MediaBufferDecoder.cpp | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/content/media/webaudio/MediaBufferDecoder.cpp b/content/media/webaudio/MediaBufferDecoder.cpp
+index b9409ad..ee6538c 100644
+--- a/content/media/webaudio/MediaBufferDecoder.cpp
++++ b/content/media/webaudio/MediaBufferDecoder.cpp
+@@ -101,13 +101,6 @@ public:
+ {
+ MOZ_ASSERT(aBuffer);
+ MOZ_ASSERT(NS_IsMainThread());
+-
+- nsCOMPtr<nsPIDOMWindow> pWindow = do_QueryInterface(mDecodeJob.mContext->GetParentObject());
+- nsCOMPtr<nsIScriptObjectPrincipal> scriptPrincipal =
+- do_QueryInterface(pWindow);
+- if (scriptPrincipal) {
+- mPrincipal = scriptPrincipal->GetPrincipal();
+- }
+ }
+
+ NS_IMETHOD Run();
+@@ -150,7 +143,6 @@ private:
+ WebAudioDecodeJob& mDecodeJob;
+ PhaseEnum mPhase;
+ nsCOMPtr<nsIThreadPool> mThreadPool;
+- nsCOMPtr<nsIPrincipal> mPrincipal;
+ nsRefPtr<BufferDecoder> mBufferDecoder;
+ nsAutoPtr<MediaDecoderReader> mDecoderReader;
+ };
+@@ -179,9 +171,16 @@ MediaDecodeTask::CreateReader()
+ {
+ MOZ_ASSERT(NS_IsMainThread());
+
++
++ nsCOMPtr<nsIPrincipal> principal;
++ nsCOMPtr<nsIScriptObjectPrincipal> sop = do_QueryInterface(mDecodeJob.mContext->GetParentObject());
++ if (sop) {
++ principal = sop->GetPrincipal();
++ }
++
+ nsRefPtr<BufferMediaResource> resource =
+ new BufferMediaResource(static_cast<uint8_t*> (mBuffer),
+- mLength, mPrincipal, mContentType);
++ mLength, principal, mContentType);
+
+ MOZ_ASSERT(!mBufferDecoder);
+ mBufferDecoder = new BufferDecoder(resource);
+--
+2.4.3
+