From 36ddbdbbe2082f8832218e70ae0d62f6e77c7a28 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Fri, 10 Feb 2012 13:56:19 +0000 Subject: [PATCH] Return error for failing allocation Fix case, where final strdup would have failed and it would miss to return failure for this case and return success and NULL pointer. --- WHATS_NEW_DM | 1 + libdm/libdm-string.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM index 5b42f777e..2c4a70ffa 100644 --- a/WHATS_NEW_DM +++ b/WHATS_NEW_DM @@ -1,5 +1,6 @@ Version 1.02.70 - =================================== + Return error for failing allocation in dm_asprintf(). Add missing test for failing allocation in dm_realloc() code. Add test for memory allocation failures in regex matcher code. Simplify dm_task_set_geometry() and use dm_asprintf(). diff --git a/libdm/libdm-string.c b/libdm/libdm-string.c index 67eabf5db..d9b444c1c 100644 --- a/libdm/libdm-string.c +++ b/libdm/libdm-string.c @@ -156,7 +156,9 @@ int dm_asprintf(char **result, const char *format, ...) } } - *result = dm_strdup(buf); + if (!(*result = dm_strdup(buf))) + n = -2; /* return -1 */ + dm_free(buf); return n + 1; } -- 2.43.5