All of lore.kernel.org
 help / color / mirror / Atom feed
* device-mapper ./WHATS_NEW dmeventd/libdevmappe ...
@ 2007-04-19 19:10 mbroz
  0 siblings, 0 replies; 3+ messages in thread
From: mbroz @ 2007-04-19 19:10 UTC (permalink / raw)
  To: dm-cvs, dm-devel

CVSROOT:	/cvs/dm
Module name:	device-mapper
Changes by:	mbroz@sourceware.org	2007-04-19 20:10:19

Modified files:
	.              : WHATS_NEW 
	dmeventd       : libdevmapper-event.c 

Log message:
	Fix libdevmapper-event memory leaks

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/WHATS_NEW.diff?cvsroot=dm&r1=1.173&r2=1.174
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/dmeventd/libdevmapper-event.c.diff?cvsroot=dm&r1=1.21&r2=1.22

--- device-mapper/WHATS_NEW	2007/03/16 14:36:14	1.173
+++ device-mapper/WHATS_NEW	2007/04/19 19:10:19	1.174
@@ -1,5 +1,6 @@
 Version 1.02.19 -
 ====================================
+  Fix libdevmapper-event memory leaks
   Remove unnecessary memset() return value checks.
   Fix a few leaks in reporting error paths. [1.02.15+]
 
--- device-mapper/dmeventd/libdevmapper-event.c	2007/02/02 17:08:51	1.21
+++ device-mapper/dmeventd/libdevmapper-event.c	2007/04/19 19:10:19	1.22
@@ -359,10 +359,17 @@
 	 */
 	if (!_daemon_write(fifos, msg)) {
 		stack;
+		dm_free(msg->data);
+		msg->data = 0;
 		return -EIO;
 	}
 
 	do {
+
+		if (msg->data)
+			dm_free(msg->data);
+		msg->data = 0;
+
 		if (!_daemon_read(fifos, msg)) {
 			stack;
 			return -EIO;
@@ -548,6 +555,11 @@
 	}
 
 	ret = _daemon_talk(&fifos, msg, DM_EVENT_CMD_HELLO, 0, 0, 0, 0);
+
+	if (msg->data)
+		dm_free(msg->data);
+	msg->data = 0;
+
 	if (!ret)
 		ret = _daemon_talk(&fifos, msg, cmd, dso_name, dev_name, evmask, timeout);
 
@@ -714,6 +726,12 @@
 
 	dm_event_handler_set_dso(dmevh, reply_dso);
 	dm_event_handler_set_event_mask(dmevh, reply_mask);
+
+	if (reply_dso)
+		dm_free(reply_dso);
+	if (reply_uuid)
+		dm_free(reply_uuid);
+
 	dmevh->dev_name = dm_strdup(dm_task_get_name(dmt));
 	if (!dmevh->dev_name) {
 		ret = -ENOMEM;
@@ -736,6 +754,10 @@
  fail:
 	if (msg.data)
 		dm_free(msg.data);
+	if (reply_dso)
+		dm_free(reply_dso);
+	if (reply_uuid)
+		dm_free(reply_uuid);
 	_dm_event_handler_clear_dev_info(dmevh);
 	dm_task_destroy(dmt);
 	return ret;

^ permalink raw reply	[flat|nested] 3+ messages in thread

* device-mapper ./WHATS_NEW dmeventd/libdevmappe ...
@ 2007-08-02 22:31 mornfall
  0 siblings, 0 replies; 3+ messages in thread
From: mornfall @ 2007-08-02 22:31 UTC (permalink / raw)
  To: dm-cvs, dm-devel

CVSROOT:	/cvs/dm
Module name:	device-mapper
Changes by:	mornfall@sourceware.org	2007-08-02 22:31:59

Modified files:
	.              : WHATS_NEW 
	dmeventd       : libdevmapper-event.c 

Log message:
	Fix a possible segfault in libdevmapper-event. Thanks to Brian J. Wood
	for noticing this.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/WHATS_NEW.diff?cvsroot=dm&r1=1.196&r2=1.197
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/dmeventd/libdevmapper-event.c.diff?cvsroot=dm&r1=1.22&r2=1.23

--- device-mapper/WHATS_NEW	2007/07/28 10:48:36	1.196
+++ device-mapper/WHATS_NEW	2007/08/02 22:31:59	1.197
@@ -1,5 +1,6 @@
 Version 1.02.22 - 
 ================================
+  Fix a possible segfault in libdevmapper-event
   Export dm_create_dir (was create_dir) to help fix LVM2 link error
   Don't log mkdir fail-with-EROFS, to make create_dir equiv to the one in LVM2
   Introduce and use log_sys_* macros from LVM2
--- device-mapper/dmeventd/libdevmapper-event.c	2007/04/19 19:10:19	1.22
+++ device-mapper/dmeventd/libdevmapper-event.c	2007/08/02 22:31:59	1.23
@@ -706,6 +706,7 @@
 	}
 
 	dm_task_destroy(dmt);
+	dmt = 0;
 
 	if (msg.data) {
 		dm_free(msg.data);
@@ -759,7 +760,8 @@
 	if (reply_uuid)
 		dm_free(reply_uuid);
 	_dm_event_handler_clear_dev_info(dmevh);
-	dm_task_destroy(dmt);
+	if (dmt)
+		dm_task_destroy(dmt);
 	return ret;
 }
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* device-mapper ./WHATS_NEW dmeventd/libdevmappe ...
@ 2007-11-27 12:26 mornfall
  0 siblings, 0 replies; 3+ messages in thread
From: mornfall @ 2007-11-27 12:26 UTC (permalink / raw)
  To: dm-cvs, dm-devel

CVSROOT:	/cvs/dm
Module name:	device-mapper
Changes by:	mornfall@sourceware.org	2007-11-27 12:26:06

Modified files:
	.              : WHATS_NEW 
	dmeventd       : libdevmapper-event.c 

Log message:
	Fix a possible double-free in libdevmapper-event.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/WHATS_NEW.diff?cvsroot=dm&r1=1.209&r2=1.210
http://sourceware.org/cgi-bin/cvsweb.cgi/device-mapper/dmeventd/libdevmapper-event.c.diff?cvsroot=dm&r1=1.25&r2=1.26

--- device-mapper/WHATS_NEW	2007/11/12 20:47:17	1.209
+++ device-mapper/WHATS_NEW	2007/11/27 12:26:06	1.210
@@ -1,5 +1,6 @@
 Version 1.02.23 - 
 ==================================
+  Fix possible double-free in libdevmapper-event.
   Define DM_READ_AHEAD_* values and flags.
   Fix configure --with-dmeventd-path substitution.
   Allow $DM_DEV_DIR envvar to override default of "/dev".
--- device-mapper/dmeventd/libdevmapper-event.c	2007/08/21 16:26:06	1.25
+++ device-mapper/dmeventd/libdevmapper-event.c	2007/11/27 12:26:06	1.26
@@ -722,10 +722,15 @@
 	dm_event_handler_set_dso(dmevh, reply_dso);
 	dm_event_handler_set_event_mask(dmevh, reply_mask);
 
-	if (reply_dso)
+	if (reply_dso) {
 		dm_free(reply_dso);
-	if (reply_uuid)
+		reply_dso = NULL;
+	}
+
+	if (reply_uuid) {
 		dm_free(reply_uuid);
+		reply_uuid = NULL;
+	}
 
 	dmevh->dev_name = dm_strdup(dm_task_get_name(dmt));
 	if (!dmevh->dev_name) {

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-11-27 12:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-02 22:31 device-mapper ./WHATS_NEW dmeventd/libdevmappe mornfall
  -- strict thread matches above, loose matches on Subject: below --
2007-11-27 12:26 mornfall
2007-04-19 19:10 mbroz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.