[lvm-devel] LVM2/lib/thin thin.c
zkabelac at sourceware.org
zkabelac at sourceware.org
Thu Oct 6 11:06:37 UTC 2011
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: zkabelac at sourceware.org 2011-10-06 11:06:36
Modified files:
lib/thin : thin.c
Log message:
Add more validation to config parser
Do not leave it for vgvalidate().
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/thin/thin.c.diff?cvsroot=lvm2&r1=1.14&r2=1.15
--- LVM2/lib/thin/thin.c 2011/10/03 18:26:07 1.14
+++ LVM2/lib/thin/thin.c 2011/10/06 11:06:36 1.15
@@ -76,6 +76,11 @@
if (!dm_config_get_uint32(sn, "data_block_size", &seg->data_block_size))
return SEG_LOG_ERROR("Could not read data_block_size");
+ if ((seg->data_block_size < DM_THIN_MIN_DATA_SIZE) ||
+ (seg->data_block_size > DM_THIN_MAX_DATA_SIZE))
+ return SEG_LOG_ERROR("Unsupported value %u for data_block_size",
+ seg->device_id);
+
if (dm_config_has_node(sn, "zero_new_blocks") &&
!dm_config_get_uint32(sn, "zero_new_blocks", &seg->zero_new_blocks))
return SEG_LOG_ERROR("Could not read zero_new_blocks for");
@@ -168,6 +173,10 @@
if (!dm_config_get_uint32(sn, "device_id", &seg->device_id))
return SEG_LOG_ERROR("Could not read device_id for");
+ if (seg->device_id > DM_THIN_MAX_DEVICE_ID)
+ return SEG_LOG_ERROR("Unsupported value %u for device_id",
+ seg->device_id);
+
return 1;
}
More information about the lvm-devel
mailing list