!25 Fix mismatched net[]/delete[] in proxy.cpp
From: @yu_boyun Reviewed-by: @zengwefeng Signed-off-by: @zengwefeng
This commit is contained in:
commit
cb6cc5325a
56
backport-Fix-mismatched-new-delete-in-proxy.cpp.patch
Normal file
56
backport-Fix-mismatched-new-delete-in-proxy.cpp.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
From 83cee994952ceb2ff4c818de78f7758c75549e3d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Catanzaro <mcatanzaro@gnome.org>
|
||||||
|
Date: Thu, 10 Sep 2020 14:57:37 -0500
|
||||||
|
Subject: [PATCH] Fix mismatched new[]/delete[] in proxy.cpp
|
||||||
|
|
||||||
|
Using the wrong delete operator is undefined behavior.
|
||||||
|
|
||||||
|
All this manual new/delete really ought to be replaced by
|
||||||
|
std::unique_ptr, but this will suffice for now.
|
||||||
|
---
|
||||||
|
libproxy/proxy.cpp | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libproxy/proxy.cpp b/libproxy/proxy.cpp
|
||||||
|
index 2d01d53..72d0039 100644
|
||||||
|
--- a/libproxy/proxy.cpp
|
||||||
|
+++ b/libproxy/proxy.cpp
|
||||||
|
@@ -244,7 +244,7 @@ void proxy_factory::check_network_topology() {
|
||||||
|
vector<wpad_extension*> wpads = this->mm.get_extensions<wpad_extension>();
|
||||||
|
for (vector<wpad_extension*>::iterator j=wpads.begin() ; j != wpads.end() ; j++)
|
||||||
|
(*j)->rewind();
|
||||||
|
- if (this->pac) delete this->pac;
|
||||||
|
+ if (this->pac) delete[] this->pac;
|
||||||
|
this->pac = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -313,7 +313,7 @@ bool proxy_factory::expand_wpad(const url &confurl)
|
||||||
|
rtv = true;
|
||||||
|
/* If the config has just changed from PAC to WPAD, clear the PAC */
|
||||||
|
if (!this->wpad) {
|
||||||
|
- if (this->pac) delete this->pac;
|
||||||
|
+ if (this->pac) delete[] this->pac;
|
||||||
|
if (this->pacurl) delete this->pacurl;
|
||||||
|
this->pac = NULL;
|
||||||
|
this->pacurl = NULL;
|
||||||
|
@@ -381,7 +381,7 @@ bool proxy_factory::expand_pac(url &confurl)
|
||||||
|
if (this->pac) {
|
||||||
|
if (this->pacurl->to_string() != confurl.to_string()) {
|
||||||
|
delete this->pacurl;
|
||||||
|
- delete this->pac;
|
||||||
|
+ delete[] this->pac;
|
||||||
|
this->pacurl = NULL;
|
||||||
|
this->pac = NULL;
|
||||||
|
}
|
||||||
|
@@ -424,7 +424,7 @@ void proxy_factory::run_pac(url &realurl, const url &confurl, vector<string> &re
|
||||||
|
|
||||||
|
void proxy_factory::clear_cache() {
|
||||||
|
this->wpad = false;
|
||||||
|
- if (this->pac) { delete this->pac; this->pac = NULL; }
|
||||||
|
+ if (this->pac) { delete[] this->pac; this->pac = NULL; }
|
||||||
|
if (this->pacurl) { delete this->pacurl; this->pacurl = NULL; }
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: libproxy
|
Name: libproxy
|
||||||
Version: 0.4.15
|
Version: 0.4.15
|
||||||
Release: 15
|
Release: 16
|
||||||
Summary: Libproxy is a library that provides automatic proxy configuration management
|
Summary: Libproxy is a library that provides automatic proxy configuration management
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
@ -15,6 +15,7 @@ Patch1: libproxy-0.4.11-crash.patch
|
|||||||
Patch2: libproxy-0.4.15-python3738.patch
|
Patch2: libproxy-0.4.15-python3738.patch
|
||||||
Patch3: libproxy-0.4.15-mozjs52.patch
|
Patch3: libproxy-0.4.15-mozjs52.patch
|
||||||
Patch4: Fix-buffer-overflow-when-PAC-is-enabled.patch
|
Patch4: Fix-buffer-overflow-when-PAC-is-enabled.patch
|
||||||
|
Patch5: backport-Fix-mismatched-new-delete-in-proxy.cpp.patch
|
||||||
|
|
||||||
BuildRequires: cmake >= 2.6.0 gcc-c++
|
BuildRequires: cmake >= 2.6.0 gcc-c++
|
||||||
BuildRequires: pkgconfig(gio-2.0) >= 2.26 pkgconfig(mozjs-52) pkgconfig(libnm) python2-devel python3-devel
|
BuildRequires: pkgconfig(gio-2.0) >= 2.26 pkgconfig(mozjs-52) pkgconfig(libnm) python2-devel python3-devel
|
||||||
@ -123,6 +124,12 @@ make test
|
|||||||
%{_mandir}/man1/proxy.1*
|
%{_mandir}/man1/proxy.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Mar 29 yuboyun <yuboyun@huawei.com> - 0.4.15-16
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:Fix mismatched new[]/delete[] in proxy.cpp
|
||||||
|
|
||||||
* Mon Nov 9 gaihuiying <gaihuiying1@huawei.com> - 0.4.15-15
|
* Mon Nov 9 gaihuiying <gaihuiying1@huawei.com> - 0.4.15-15
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- Id:NA
|
- Id:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user