From cd1a7e80c0cbf221a78fbd2bdb911032a4bbd521 Mon Sep 17 00:00:00 2001 From: Petr Rockai Date: Tue, 27 Nov 2007 12:26:06 +0000 Subject: [PATCH] Fix a possible double-free in libdevmapper-event. --- WHATS_NEW_DM | 1 + daemons/dmeventd/libdevmapper-event.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index 365d8ee8d..a64f419d3 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -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". diff --git a/daemons/dmeventd/libdevmapper-event.c b/daemons/dmeventd/libdevmapper-event.c index f9fab592e..0515145cd 100644 --- a/daemons/dmeventd/libdevmapper-event.c +++ b/daemons/dmeventd/libdevmapper-event.c @@ -722,10 +722,15 @@ int dm_event_get_registered_device(struct dm_event_handler *dmevh, int next) 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) { -- 2.43.5