]> sourceware.org Git - lvm2.git/commitdiff
Add missing test for reallocation error.
authorZdenek Kabelac <zkabelac@redhat.com>
Mon, 20 Dec 2010 14:38:22 +0000 (14:38 +0000)
committerZdenek Kabelac <zkabelac@redhat.com>
Mon, 20 Dec 2010 14:38:22 +0000 (14:38 +0000)
WHATS_NEW
lib/metadata/lv_manip.c

index 03859a5ec46d43fbdc9431af39564dc004a97853..5e705f7d6a19cec4e6898816f8e8947adbf719b8 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.79 -  
 ===================================
+  Add missing test for reallocation error in _find_parallel_space().
   Add check for unlink error result in remove_lockfile() (dmeventd).
   Use dm_free for dm_malloc-ed areas in _clog_ctr/_clog_dtr (cmirrord).
   Add checks for allocation errors in config node clonning.
index ee8e9317aa1a299fabd0d449833b78fb4b47340b..4a984a5981bf7eafc9fd76a24c61130bebb0be2a 100644 (file)
@@ -1302,7 +1302,12 @@ static int _find_parallel_space(struct alloc_handle *ah, alloc_policy_t alloc,
                                        /* Expand areas array if needed after an area was split. */
                                        if (ix + ix_offset > *areas_size_ptr) {
                                                *areas_size_ptr *= 2;
-                                               *areas_ptr = dm_realloc(*areas_ptr, sizeof(**areas_ptr) * (*areas_size_ptr));
+                                               if (!(*areas_ptr = dm_realloc(*areas_ptr,
+                                                                            sizeof(**areas_ptr) *
+                                                                            (*areas_size_ptr)))) {
+                                                       log_error("Memory reallocation for parallel areas failed.");
+                                                       return 0;
+                                               }
                                        }
                                        (*areas_ptr)[ix + ix_offset - 1].pva = pva;
                                                (*areas_ptr)[ix + ix_offset - 1].used = required;
This page took 0.05177 seconds and 5 git commands to generate.