From 52f76a76828c1093db65943e9ce937fde56e8a75 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Thu, 1 Mar 2012 21:49:32 +0000 Subject: [PATCH] Test alloc fail --- WHATS_NEW | 1 + lib/metadata/pv_manip.c | 10 ++++++---- tools/dmsetup.c | 4 +++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/WHATS_NEW b/WHATS_NEW index 2e068a816..12f2b68c4 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.94 - ==================================== + Test for alloc fail from _alloc_pv_segment() in _extend_pv(). Check for alloc fail from get_segtype_from_string() in _lvcreate_params(). Add _rimage as reserved suffix to lvm.8 man page. Improve error logging from mpath filter. diff --git a/lib/metadata/pv_manip.c b/lib/metadata/pv_manip.c index 35ac02cc3..102286c11 100644 --- a/lib/metadata/pv_manip.c +++ b/lib/metadata/pv_manip.c @@ -442,10 +442,12 @@ static int _extend_pv(struct physical_volume *pv, struct volume_group *vg, return 0; } - peg = _alloc_pv_segment(pv->fmt->cmd->mem, pv, - old_pe_count, - new_pe_count - old_pe_count, - NULL, 0); + if (!(peg = _alloc_pv_segment(pv->fmt->cmd->mem, pv, + old_pe_count, + new_pe_count - old_pe_count, + NULL, 0))) + return_0; + dm_list_add(&pv->segments, &peg->list); pv->pe_count = new_pe_count; diff --git a/tools/dmsetup.c b/tools/dmsetup.c index 34f370d13..d98da274b 100644 --- a/tools/dmsetup.c +++ b/tools/dmsetup.c @@ -380,7 +380,9 @@ static struct dm_split_name *_get_split_name(const char *uuid, const char *name, return NULL; } - split_name->subsystem = _extract_uuid_prefix(uuid, separator); + if (!(split_name->subsystem = _extract_uuid_prefix(uuid, separator))) + return_NULL; + split_name->vg_name = split_name->lv_name = split_name->lv_layer = (char *) ""; -- 2.43.5