[dm-devel] device-mapper ./WHATS_NEW dmeventd/dmeventd.c

mornfall at sourceware.org mornfall at sourceware.org
Mon Apr 23 15:06:16 UTC 2007


CVSROOT:	/cvs/dm
Module name:	device-mapper
Changes by:	mornfall at sourceware.org	2007-04-23 16:06:03

Modified files:
	.              : WHATS_NEW 
	dmeventd       : dmeventd.c 

Log message:
	Fix some memory leaks in dmeventd.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/WHATS_NEW.diff?cvsroot=dm&r1=1.175&r2=1.176
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/dmeventd/dmeventd.c.diff?cvsroot=dm&r1=1.47&r2=1.48

--- device-mapper/WHATS_NEW	2007/04/19 20:24:00	1.175
+++ device-mapper/WHATS_NEW	2007/04/23 15:06:03	1.176
@@ -1,7 +1,7 @@
 Version 1.02.19 -
 ====================================
   Introduce _add_field() and _is_same_field() to libdm-report.c.
-  Fix some libdevmapper-event memory leaks.
+  Fix some libdevmapper-event and dmeventd memory leaks.
   Remove unnecessary memset() return value checks.
   Fix a few leaks in reporting error paths. [1.02.15+]
 
--- device-mapper/dmeventd/dmeventd.c	2007/03/16 14:36:14	1.47
+++ device-mapper/dmeventd/dmeventd.c	2007/04/23 15:06:03	1.48
@@ -245,6 +245,8 @@
 
 static void _free_thread_status(struct thread_status *thread)
 {
+	if (thread->current_task)
+		dm_task_destroy(thread->current_task);
 	dm_free(thread->device.uuid);
 	dm_free(thread->device.name);
 	dm_free(thread);
@@ -811,11 +813,6 @@
 
 static int _terminate_thread(struct thread_status *thread)
 {
-	int ret;
-
-	if ((ret = pthread_cancel(thread->thread)))
-		return ret;
-
 	return pthread_kill(thread->thread, SIGALRM);
 }
 
@@ -1389,7 +1386,7 @@
 	message_data.msg = msg;
 	if (msg->cmd == DM_EVENT_CMD_HELLO)  {
 		ret = 0;
-		answer = dm_strdup(msg->data);
+		answer = msg->data;
 		if (answer) {
 			msg->size = dm_asprintf(&(msg->data), "%s HELLO", answer);
 			dm_free(answer);




More information about the dm-devel mailing list