pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/www/firefox Fix a memory management / refcount problem...
details: https://anonhg.NetBSD.org/pkgsrc/rev/d8e2cbf0f39a
branches: trunk
changeset: 511993:d8e2cbf0f39a
user: drochner <drochner%pkgsrc.org@localhost>
date: Fri Apr 28 16:11:31 2006 +0000
description:
Fix a memory management / refcount problem which can lead to a DOS or
possible code injection, affecting nested iframes.
See https://bugzilla.mozilla.org/show_bug.cgi?id=334515 and
http://www.securident.com/vuln/ff.txt
bump PKGREVISION
diffstat:
www/firefox/Makefile | 4 +-
www/firefox/distinfo | 4 +-
www/firefox/patches/patch-fa | 22 +++++++++++++
www/firefox/patches/patch-fb | 70 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 97 insertions(+), 3 deletions(-)
diffs (128 lines):
diff -r 1322c27058bc -r d8e2cbf0f39a www/firefox/Makefile
--- a/www/firefox/Makefile Fri Apr 28 16:08:58 2006 +0000
+++ b/www/firefox/Makefile Fri Apr 28 16:11:31 2006 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.33 2006/04/17 14:52:12 wiz Exp $
+# $NetBSD: Makefile,v 1.34 2006/04/28 16:11:31 drochner Exp $
MOZILLA= firefox
-PKGREVISION= 1
+PKGREVISION= 2
EXTRACT_SUFX= .tar.bz2
COMMENT= Lightweight gecko-based web browser
diff -r 1322c27058bc -r d8e2cbf0f39a www/firefox/distinfo
--- a/www/firefox/distinfo Fri Apr 28 16:08:58 2006 +0000
+++ b/www/firefox/distinfo Fri Apr 28 16:11:31 2006 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.47 2006/04/15 14:20:31 ghen Exp $
+$NetBSD: distinfo,v 1.48 2006/04/28 16:11:31 drochner Exp $
SHA1 (firefox-1.5.0.2/firefox-1.5.0.2-source.tar.bz2) = 21f5497a4cdd4b142bdcb9c3fbdfea43cae1455f
RMD160 (firefox-1.5.0.2/firefox-1.5.0.2-source.tar.bz2) = a3128798930d069a175d278b5522cdc8e43dc352
@@ -59,3 +59,5 @@
SHA1 (patch-dv) = a380d261d4c2771a672d2b0f4f1f23821e3e5266
SHA1 (patch-ea) = 14e31d17c2493e468cd01f99abfc996853a11032
SHA1 (patch-eb) = dc9232b10075d17f7ed742e7be8ea036db2f0241
+SHA1 (patch-fa) = 64f09a71d4d3c36a42e8ccf28b2d3e43dbf8f202
+SHA1 (patch-fb) = fb32614d012565c4cb97e489ef05f3f76d75c841
diff -r 1322c27058bc -r d8e2cbf0f39a www/firefox/patches/patch-fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-fa Fri Apr 28 16:11:31 2006 +0000
@@ -0,0 +1,22 @@
+$NetBSD: patch-fa,v 1.1 2006/04/28 16:11:31 drochner Exp $
+
+--- embedding/components/commandhandler/src/nsBaseCommandController.h.orig 2006-04-28 12:43:57.000000000 +0200
++++ embedding/components/commandhandler/src/nsBaseCommandController.h
+@@ -49,6 +49,8 @@
+ #include "nsIControllerContext.h"
+ #include "nsIControllerCommandTable.h"
+ #include "nsIInterfaceRequestor.h"
++#include "nsIWeakReference.h"
++#include "nsIWeakReferenceUtils.h"
+
+ // The base editor controller is used for both text widgets,
+ // and all other text and html editing
+@@ -79,7 +81,7 @@ public:
+
+ private:
+
+- nsISupports *mCommandContext;
++ nsWeakPtr mCommandContext;
+
+ // Our reference to the command manager
+ nsCOMPtr<nsIControllerCommandTable> mCommandTable;
diff -r 1322c27058bc -r d8e2cbf0f39a www/firefox/patches/patch-fb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-fb Fri Apr 28 16:11:31 2006 +0000
@@ -0,0 +1,70 @@
+$NetBSD: patch-fb,v 1.1 2006/04/28 16:11:31 drochner Exp $
+
+--- embedding/components/commandhandler/src/nsBaseCommandController.cpp.orig 2006-04-28 12:43:57.000000000 +0200
++++ embedding/components/commandhandler/src/nsBaseCommandController.cpp
+@@ -55,7 +55,6 @@ NS_INTERFACE_MAP_BEGIN(nsBaseCommandCont
+ NS_INTERFACE_MAP_END
+
+ nsBaseCommandController::nsBaseCommandController()
+-: mCommandContext(nsnull)
+ {
+ }
+
+@@ -79,7 +78,7 @@ nsBaseCommandController::Init(nsIControl
+ NS_IMETHODIMP
+ nsBaseCommandController::SetCommandContext(nsISupports *aCommandContext)
+ {
+- mCommandContext = aCommandContext; // no addref
++ mCommandContext = do_GetWeakReference(aCommandContext);
+ return NS_OK;
+ }
+
+@@ -113,7 +112,8 @@ nsBaseCommandController::IsCommandEnable
+ {
+ NS_ENSURE_ARG_POINTER(aCommand);
+ NS_ENSURE_ARG_POINTER(aResult);
+- return mCommandTable->IsCommandEnabled(aCommand, mCommandContext, aResult);
++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext);
++ return mCommandTable->IsCommandEnabled(aCommand, context, aResult);
+ }
+
+ NS_IMETHODIMP
+@@ -121,14 +121,16 @@ nsBaseCommandController::SupportsCommand
+ {
+ NS_ENSURE_ARG_POINTER(aCommand);
+ NS_ENSURE_ARG_POINTER(aResult);
+- return mCommandTable->SupportsCommand(aCommand, mCommandContext, aResult);
++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext);
++ return mCommandTable->SupportsCommand(aCommand, context, aResult);
+ }
+
+ NS_IMETHODIMP
+ nsBaseCommandController::DoCommand(const char *aCommand)
+ {
+ NS_ENSURE_ARG_POINTER(aCommand);
+- return mCommandTable->DoCommand(aCommand, mCommandContext);
++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext);
++ return mCommandTable->DoCommand(aCommand, context);
+ }
+
+ NS_IMETHODIMP
+@@ -136,7 +138,8 @@ nsBaseCommandController::DoCommandWithPa
+ nsICommandParams *aParams)
+ {
+ NS_ENSURE_ARG_POINTER(aCommand);
+- return mCommandTable->DoCommandParams(aCommand, aParams, mCommandContext);
++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext);
++ return mCommandTable->DoCommandParams(aCommand, aParams, context);
+ }
+
+ NS_IMETHODIMP
+@@ -144,7 +147,8 @@ nsBaseCommandController::GetCommandState
+ nsICommandParams *aParams)
+ {
+ NS_ENSURE_ARG_POINTER(aCommand);
+- return mCommandTable->GetCommandState(aCommand, aParams, mCommandContext);
++ nsCOMPtr<nsISupports> context = do_QueryReferent(mCommandContext);
++ return mCommandTable->GetCommandState(aCommand, aParams, context);
+ }
+
+ NS_IMETHODIMP
Home |
Main Index |
Thread Index |
Old Index