From 65d01ed981ae751ca97d471cd6473d7dfb6ef42a Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Mon, 13 Feb 2012 11:18:45 +0000 Subject: [PATCH] Check for allocation failure --- WHATS_NEW_DM | 1 + daemons/dmeventd/dmeventd.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index 86f6eb5f5..336e556c6 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.71 - ==================================== + Check for allocation failure in dmeventd restart(). Add few missing allocation failures tests in dmsetup. Fix potential risk of writing in front of buffer in _sysfs_get_dm_name(). diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c index 5fae94ec5..d5677f272 100644 --- a/daemons/dmeventd/dmeventd.c +++ b/daemons/dmeventd/dmeventd.c @@ -1782,9 +1782,16 @@ static void restart(void) } } - _initial_registrations = dm_malloc(sizeof(char*) * (count + 1)); + if (!(_initial_registrations = dm_malloc(sizeof(char*) * (count + 1)))) { + fprintf(stderr, "Memory allocation registration failed.\n"); + exit(EXIT_FAILURE); + } + for (i = 0; i < count; ++i) { - _initial_registrations[i] = dm_strdup(message); + if (!(_initial_registrations[i] = dm_strdup(message))) { + fprintf(stderr, "Memory allocation for message failed.\n"); + exit(EXIT_FAILURE); + } message += strlen(message) + 1; } _initial_registrations[count] = 0;