[Pkg-voip-commits] [twinkle] 26/73: Imported Debian patch 1:0.9-6

Peter Colberg pc-guest at moszumanska.debian.org
Wed Jan 6 00:31:47 UTC 2016


This is an automated email from the git hooks/post-receive script.

pc-guest pushed a commit to branch master
in repository twinkle.

commit 76e1fb85c47a839d46953e0bb97527ccad051540
Author: Mark Purcell <msp at debian.org>
Date:   Sun Jan 7 06:27:36 2007 +0000

    Imported Debian patch 1:0.9-6
---
 debian/changelog            |  8 ++++++
 debian/patches/memman.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 4c16059..e89b7f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+twinkle (1:0.9-6) testing-proposed-updates; urgency=medium
+
+  * Apply upstream memman.patch to fix random twinkle crashes
+    - crash on call end (Closes: #402509)
+  * Loaded direct to t-p-u as discussed on debian-release
+
+ -- Mark Purcell <msp at debian.org>  Sun,  7 Jan 2007 06:27:36 +0000
+
 twinkle (1:0.9-5) unstable; urgency=low
 
   * Pre-run autoheader to include expected src/twinkle_config.h.in changes
diff --git a/debian/patches/memman.patch b/debian/patches/memman.patch
new file mode 100644
index 0000000..ccd7dc7
--- /dev/null
+++ b/debian/patches/memman.patch
@@ -0,0 +1,61 @@
+Index: src/audits/memman.cpp
+===================================================================
+--- src/audits/memman.cpp	(revision 223)
++++ src/audits/memman.cpp	(working copy)
+@@ -114,13 +114,22 @@
+ 		return;
+ 	}
+ 
+-	pointer_map.erase(p);
++
+ 	bool array_mismatch = (is_array != i->second.is_array);
+-	mtx_memman.unlock();
+ 
+ 	// Check mixing of array new/delete
++	// NOTE: after the pointer has been erased from pointer_map, the
++	//       iterator i is invalid.
++	//       The mutex mtx_memman should be unlocked before logging to
++	//       avoid dead locks.
+ 	if (array_mismatch) {
+ 		num_array_mixing++;
++		string allocation_filename = i->second.filename;
++		int allocation_lineno = i->second.lineno;
++		bool allocation_is_array = i->second.is_array;
++		pointer_map.erase(p);
++		mtx_memman.unlock();
++		
+ 		log_file->write_header("t_memman::trc_delete",
+ 			LOG_MEMORY, LOG_WARNING);
+ 		log_file->write_raw(filename);
+@@ -130,21 +139,24 @@
+ 		log_file->write_raw(ptr2str(p));
+ 		log_file->write_raw(" is deleted ");
+ 		if (is_array) {
+-			log_file->write_raw(" as array (delete []).\n");
++			log_file->write_raw("as array (delete []).\n");
+ 		} else {
+-			log_file->write_raw(" normally (delete).\n");
++			log_file->write_raw("normally (delete).\n");
+ 		}
+ 		log_file->write_raw("But it was allocated ");
+-		if (i->second.is_array) {
+-			log_file->write_raw(" as array (new []) \n");
++		if (allocation_is_array) {
++			log_file->write_raw("as array (new []) \n");
+ 		} else {
+-			log_file->write_raw(" normally (new) \n");
++			log_file->write_raw("normally (new) \n");
+ 		}
+-		log_file->write_raw(i->second.filename);
++		log_file->write_raw(allocation_filename);
+ 		log_file->write_raw(", line ");
+-		log_file->write_raw(i->second.lineno);
++		log_file->write_raw(allocation_lineno);
+ 		log_file->write_endl();
+ 		log_file->write_footer();
++	} else {
++		pointer_map.erase(p);
++		mtx_memman.unlock();
+ 	}
+ }
+ 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/twinkle.git



More information about the Pkg-voip-commits mailing list