guix-devel/gnu/packages/patches/icecat-CVE-2015-2724-pt1.patch

58 lines
1.9 KiB
Diff

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