Really fix the JS_AbortIfWrongThread crash (#998232)
This commit is contained in:
parent
56b5a66393
commit
5c37fe7459
@ -1,12 +1,41 @@
|
|||||||
diff -up libproxy-0.4.11/libproxy/extension_pacrunner.cpp.mozjscrash libproxy-0.4.11/libproxy/extension_pacrunner.cpp
|
diff -up libproxy-0.4.11/libproxy/extension_pacrunner.cpp.crash libproxy-0.4.11/libproxy/extension_pacrunner.cpp
|
||||||
--- libproxy-0.4.11/libproxy/extension_pacrunner.cpp.mozjscrash 2010-07-29 08:14:59.000000000 -0400
|
--- libproxy-0.4.11/libproxy/extension_pacrunner.cpp.crash 2010-07-29 08:14:59.000000000 -0400
|
||||||
+++ libproxy-0.4.11/libproxy/extension_pacrunner.cpp 2013-09-19 09:22:13.031263766 -0400
|
+++ libproxy-0.4.11/libproxy/extension_pacrunner.cpp 2013-11-11 15:23:56.987266457 -0500
|
||||||
@@ -35,6 +35,7 @@ pacrunner* pacrunner_extension::get(stri
|
@@ -22,20 +22,10 @@ using namespace libproxy;
|
||||||
if (this->last == pac)
|
|
||||||
return this->pr;
|
|
||||||
delete this->pr;
|
|
||||||
+ this->pr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return this->pr = this->create(pac, pacurl);
|
pacrunner::pacrunner(string, const url&) {}
|
||||||
diff -up libproxy-0.4.11/libproxy/modules/pacrunner_mozjs.cpp.mozjscrash libproxy-0.4.11/libproxy/modules/pacrunner_mozjs.cpp
|
|
||||||
|
-pacrunner_extension::pacrunner_extension() {
|
||||||
|
- this->pr = NULL;
|
||||||
|
-}
|
||||||
|
+pacrunner_extension::pacrunner_extension() {}
|
||||||
|
|
||||||
|
-pacrunner_extension::~pacrunner_extension() {
|
||||||
|
- if (this->pr) delete this->pr;
|
||||||
|
-}
|
||||||
|
+pacrunner_extension::~pacrunner_extension() {}
|
||||||
|
|
||||||
|
pacrunner* pacrunner_extension::get(string pac, const url& pacurl) throw (bad_alloc) {
|
||||||
|
- if (this->pr) {
|
||||||
|
- if (this->last == pac)
|
||||||
|
- return this->pr;
|
||||||
|
- delete this->pr;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return this->pr = this->create(pac, pacurl);
|
||||||
|
+ return this->create(pac, pacurl);
|
||||||
|
}
|
||||||
|
diff -up libproxy-0.4.11/libproxy/proxy.cpp.crash libproxy-0.4.11/libproxy/proxy.cpp
|
||||||
|
--- libproxy-0.4.11/libproxy/proxy.cpp.crash 2013-11-11 15:25:27.309271353 -0500
|
||||||
|
+++ libproxy-0.4.11/libproxy/proxy.cpp 2013-11-11 15:25:31.569271584 -0500
|
||||||
|
@@ -416,7 +416,9 @@ void proxy_factory::run_pac(url &realurl
|
||||||
|
|
||||||
|
/* Run the PAC, but only try one PACRunner */
|
||||||
|
if (debug) cerr << "Using pacrunner: " << typeid(*pacrunners[0]).name() << endl;
|
||||||
|
- string pacresp = pacrunners[0]->get(this->pac, this->pacurl->to_string())->run(realurl);
|
||||||
|
+ pacrunner* runner = pacrunners[0]->get(this->pac, this->pacurl->to_string());
|
||||||
|
+ string pacresp = runner->run(realurl);
|
||||||
|
+ delete runner;
|
||||||
|
if (debug) cerr << "Pacrunner returned: " << pacresp << endl;
|
||||||
|
format_pac_response(pacresp, response);
|
||||||
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
Name: libproxy
|
Name: libproxy
|
||||||
Version: 0.4.11
|
Version: 0.4.11
|
||||||
Release: 7%{?svn}%{?dist}
|
Release: 8%{?svn}%{?dist}
|
||||||
Summary: A library handling all the details of proxy configuration
|
Summary: A library handling all the details of proxy configuration
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -297,6 +297,9 @@ make test
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 11 2013 Dan Winship <danw@redhat.com> - 0.4.11-8
|
||||||
|
- Really fix the JS_AbortIfWrongThread crash (#998232)
|
||||||
|
|
||||||
* Thu Sep 19 2013 Dan Winship <danw@redhat.com> - 0.4.11-7
|
* Thu Sep 19 2013 Dan Winship <danw@redhat.com> - 0.4.11-7
|
||||||
- Fix file descriptor leak (#911066)
|
- Fix file descriptor leak (#911066)
|
||||||
- Fix crash when pacrunner fails (probably because of EMFILE...) (#998232)
|
- Fix crash when pacrunner fails (probably because of EMFILE...) (#998232)
|
||||||
|
Loading…
Reference in New Issue
Block a user