mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
Remove superfluous NULL pointer tests before dm_free from dmeventd.
This commit is contained in:
parent
51e294c501
commit
59585550a7
@ -1,5 +1,6 @@
|
|||||||
Version 1.02.54 -
|
Version 1.02.54 -
|
||||||
================================
|
================================
|
||||||
|
Remove superfluous NULL pointer tests before dm_free from dmeventd.
|
||||||
Assume dm-mod autoloading support is in kernel 2.6.36 and higher, not 2.6.35.
|
Assume dm-mod autoloading support is in kernel 2.6.36 and higher, not 2.6.35.
|
||||||
Fix udev rules to support udev database content generated by older rules.
|
Fix udev rules to support udev database content generated by older rules.
|
||||||
Reinstate detection of inappropriate uevent with DISK_RO set and suppress it.
|
Reinstate detection of inappropriate uevent with DISK_RO set and suppress it.
|
||||||
|
@ -327,13 +327,10 @@ static int _fetch_string(char **ptr, char **src, const int delimiter)
|
|||||||
/* Free message memory. */
|
/* Free message memory. */
|
||||||
static void _free_message(struct message_data *message_data)
|
static void _free_message(struct message_data *message_data)
|
||||||
{
|
{
|
||||||
if (message_data->id)
|
dm_free(message_data->id);
|
||||||
dm_free(message_data->id);
|
dm_free(message_data->dso_name);
|
||||||
if (message_data->dso_name)
|
|
||||||
dm_free(message_data->dso_name);
|
|
||||||
|
|
||||||
if (message_data->device_uuid)
|
dm_free(message_data->device_uuid);
|
||||||
dm_free(message_data->device_uuid);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1051,8 +1048,7 @@ static int _registered_device(struct message_data *message_data,
|
|||||||
&& (thread->events)) ? thread->events : thread->
|
&& (thread->events)) ? thread->events : thread->
|
||||||
events | DM_EVENT_REGISTRATION_PENDING;
|
events | DM_EVENT_REGISTRATION_PENDING;
|
||||||
|
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
|
|
||||||
msg->size = dm_asprintf(&(msg->data), fmt, id, dso, dev, events);
|
msg->size = dm_asprintf(&(msg->data), fmt, id, dso, dev, events);
|
||||||
|
|
||||||
@ -1162,8 +1158,7 @@ static int _get_timeout(struct message_data *message_data)
|
|||||||
struct thread_status *thread;
|
struct thread_status *thread;
|
||||||
struct dm_event_daemon_message *msg = message_data->msg;
|
struct dm_event_daemon_message *msg = message_data->msg;
|
||||||
|
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
|
|
||||||
_lock_mutex();
|
_lock_mutex();
|
||||||
if ((thread = _lookup_thread_status(message_data))) {
|
if ((thread = _lookup_thread_status(message_data))) {
|
||||||
@ -1287,8 +1282,7 @@ static int _client_read(struct dm_event_fifos *fifos,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bytes != size) {
|
if (bytes != size) {
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
msg->data = NULL;
|
msg->data = NULL;
|
||||||
msg->size = 0;
|
msg->size = 0;
|
||||||
}
|
}
|
||||||
@ -1416,8 +1410,7 @@ static void _process_request(struct dm_event_fifos *fifos)
|
|||||||
if (!_client_write(fifos, &msg))
|
if (!_client_write(fifos, &msg))
|
||||||
stack;
|
stack;
|
||||||
|
|
||||||
if (msg.data)
|
dm_free(msg.data);
|
||||||
dm_free(msg.data);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _cleanup_unused_threads(void)
|
static void _cleanup_unused_threads(void)
|
||||||
|
@ -47,10 +47,8 @@ struct dm_event_handler {
|
|||||||
|
|
||||||
static void _dm_event_handler_clear_dev_info(struct dm_event_handler *dmevh)
|
static void _dm_event_handler_clear_dev_info(struct dm_event_handler *dmevh)
|
||||||
{
|
{
|
||||||
if (dmevh->dev_name)
|
dm_free(dmevh->dev_name);
|
||||||
dm_free(dmevh->dev_name);
|
dm_free(dmevh->uuid);
|
||||||
if (dmevh->uuid)
|
|
||||||
dm_free(dmevh->uuid);
|
|
||||||
dmevh->dev_name = dmevh->uuid = NULL;
|
dmevh->dev_name = dmevh->uuid = NULL;
|
||||||
dmevh->major = dmevh->minor = 0;
|
dmevh->major = dmevh->minor = 0;
|
||||||
}
|
}
|
||||||
@ -73,8 +71,7 @@ struct dm_event_handler *dm_event_handler_create(void)
|
|||||||
void dm_event_handler_destroy(struct dm_event_handler *dmevh)
|
void dm_event_handler_destroy(struct dm_event_handler *dmevh)
|
||||||
{
|
{
|
||||||
_dm_event_handler_clear_dev_info(dmevh);
|
_dm_event_handler_clear_dev_info(dmevh);
|
||||||
if (dmevh->dso)
|
dm_free(dmevh->dso);
|
||||||
dm_free(dmevh->dso);
|
|
||||||
dm_free(dmevh);
|
dm_free(dmevh);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,8 +79,7 @@ int dm_event_handler_set_dso(struct dm_event_handler *dmevh, const char *path)
|
|||||||
{
|
{
|
||||||
if (!path) /* noop */
|
if (!path) /* noop */
|
||||||
return 0;
|
return 0;
|
||||||
if (dmevh->dso)
|
dm_free(dmevh->dso);
|
||||||
dm_free(dmevh->dso);
|
|
||||||
|
|
||||||
dmevh->dso = dm_strdup(path);
|
dmevh->dso = dm_strdup(path);
|
||||||
if (!dmevh->dso)
|
if (!dmevh->dso)
|
||||||
@ -259,8 +255,7 @@ static int _daemon_read(struct dm_event_fifos *fifos,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bytes != size) {
|
if (bytes != size) {
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
msg->data = NULL;
|
msg->data = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,8 +361,7 @@ static int _daemon_talk(struct dm_event_fifos *fifos,
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
msg->data = 0;
|
msg->data = 0;
|
||||||
|
|
||||||
if (!_daemon_read(fifos, msg)) {
|
if (!_daemon_read(fifos, msg)) {
|
||||||
@ -564,8 +558,7 @@ static int _do_event(int cmd, struct dm_event_daemon_message *msg,
|
|||||||
|
|
||||||
ret = _daemon_talk(&fifos, msg, DM_EVENT_CMD_HELLO, 0, 0, 0, 0);
|
ret = _daemon_talk(&fifos, msg, DM_EVENT_CMD_HELLO, 0, 0, 0, 0);
|
||||||
|
|
||||||
if (msg->data)
|
dm_free(msg->data);
|
||||||
dm_free(msg->data);
|
|
||||||
msg->data = 0;
|
msg->data = 0;
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
@ -600,8 +593,7 @@ int dm_event_register_handler(const struct dm_event_handler *dmevh)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.data)
|
dm_free(msg.data);
|
||||||
dm_free(msg.data);
|
|
||||||
|
|
||||||
dm_task_destroy(dmt);
|
dm_task_destroy(dmt);
|
||||||
|
|
||||||
@ -630,8 +622,7 @@ int dm_event_unregister_handler(const struct dm_event_handler *dmevh)
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg.data)
|
dm_free(msg.data);
|
||||||
dm_free(msg.data);
|
|
||||||
|
|
||||||
dm_task_destroy(dmt);
|
dm_task_destroy(dmt);
|
||||||
|
|
||||||
@ -711,10 +702,8 @@ int dm_event_get_registered_device(struct dm_event_handler *dmevh, int next)
|
|||||||
dm_task_destroy(dmt);
|
dm_task_destroy(dmt);
|
||||||
dmt = NULL;
|
dmt = NULL;
|
||||||
|
|
||||||
if (msg.data) {
|
dm_free(msg.data);
|
||||||
dm_free(msg.data);
|
msg.data = NULL;
|
||||||
msg.data = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
_dm_event_handler_clear_dev_info(dmevh);
|
_dm_event_handler_clear_dev_info(dmevh);
|
||||||
dmevh->uuid = dm_strdup(reply_uuid);
|
dmevh->uuid = dm_strdup(reply_uuid);
|
||||||
@ -731,15 +720,11 @@ 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_dso(dmevh, reply_dso);
|
||||||
dm_event_handler_set_event_mask(dmevh, reply_mask);
|
dm_event_handler_set_event_mask(dmevh, reply_mask);
|
||||||
|
|
||||||
if (reply_dso) {
|
dm_free(reply_dso);
|
||||||
dm_free(reply_dso);
|
reply_dso = NULL;
|
||||||
reply_dso = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (reply_uuid) {
|
dm_free(reply_uuid);
|
||||||
dm_free(reply_uuid);
|
reply_uuid = NULL;
|
||||||
reply_uuid = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
dmevh->dev_name = dm_strdup(dm_task_get_name(dmt));
|
dmevh->dev_name = dm_strdup(dm_task_get_name(dmt));
|
||||||
if (!dmevh->dev_name) {
|
if (!dmevh->dev_name) {
|
||||||
@ -760,12 +745,9 @@ int dm_event_get_registered_device(struct dm_event_handler *dmevh, int next)
|
|||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
if (msg.data)
|
dm_free(msg.data);
|
||||||
dm_free(msg.data);
|
dm_free(reply_dso);
|
||||||
if (reply_dso)
|
dm_free(reply_uuid);
|
||||||
dm_free(reply_dso);
|
|
||||||
if (reply_uuid)
|
|
||||||
dm_free(reply_uuid);
|
|
||||||
_dm_event_handler_clear_dev_info(dmevh);
|
_dm_event_handler_clear_dev_info(dmevh);
|
||||||
if (dmt)
|
if (dmt)
|
||||||
dm_task_destroy(dmt);
|
dm_task_destroy(dmt);
|
||||||
|
@ -119,13 +119,11 @@ static int _get_mirror_event(char *params)
|
|||||||
goto out_parse;
|
goto out_parse;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (args)
|
dm_free(args);
|
||||||
dm_free(args);
|
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
out_parse:
|
out_parse:
|
||||||
if (args)
|
dm_free(args);
|
||||||
dm_free(args);
|
|
||||||
syslog(LOG_ERR, "Unable to parse mirror status string.");
|
syslog(LOG_ERR, "Unable to parse mirror status string.");
|
||||||
return ME_IGNORE;
|
return ME_IGNORE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user