mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
libdm: validate params for NULL
Validate passed params and report error instead of dereferencing NULL passed argument.
This commit is contained in:
parent
72921d7922
commit
3fd0242a0a
@ -1,5 +1,6 @@
|
||||
Version 1.02.78 -
|
||||
===================================
|
||||
Validate passed params to dm_get_status_raid/thin/thin_pool().
|
||||
Fix 'dmsetup splitname -o' to not fail if used without '-c' switch (1.02.68).
|
||||
Add dm_config_write_{node_out/one_node_out} for enhanced config output.
|
||||
Add dm_config_value_is_bool to check for boolean value in supported formats.
|
||||
|
@ -2877,11 +2877,14 @@ int dm_get_status_raid(struct dm_pool *mem, const char *params,
|
||||
struct dm_status_raid **status)
|
||||
{
|
||||
int dev_count;
|
||||
const char *p = params;
|
||||
const char *p;
|
||||
struct dm_status_raid *s;
|
||||
|
||||
if (!(p = strchr(p, ' ')))
|
||||
return_0;
|
||||
if (!params || !(p = strchr(params, ' '))) {
|
||||
log_error("Failed to parse invalid raid params.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
p++;
|
||||
|
||||
if (sscanf(p, "%d", &dev_count) != 1)
|
||||
@ -3318,6 +3321,11 @@ int dm_get_status_thin_pool(struct dm_pool *mem, const char *params,
|
||||
struct dm_status_thin_pool *s;
|
||||
int pos;
|
||||
|
||||
if (!params) {
|
||||
log_error("Failed to parse invalid thin pool params.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!(s = dm_pool_zalloc(mem, sizeof(struct dm_status_thin_pool)))) {
|
||||
log_error("Failed to allocate thin_pool status structure.");
|
||||
return 0;
|
||||
@ -3354,6 +3362,11 @@ int dm_get_status_thin(struct dm_pool *mem, const char *params,
|
||||
{
|
||||
struct dm_status_thin *s;
|
||||
|
||||
if (!params) {
|
||||
log_error("Failed to parse invalid thin params.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!(s = dm_pool_zalloc(mem, sizeof(struct dm_status_thin)))) {
|
||||
log_error("Failed to allocate thin status structure.");
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user