You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.8 KiB
52 lines
1.8 KiB
3 years ago
|
---
|
||
|
kpartx/devmapper.c | 3 ++-
|
||
|
libmultipath/devmapper.c | 7 ++++++-
|
||
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||
|
|
||
|
Index: multipath-tools-130222/kpartx/devmapper.c
|
||
|
===================================================================
|
||
|
--- multipath-tools-130222.orig/kpartx/devmapper.c
|
||
|
+++ multipath-tools-130222/kpartx/devmapper.c
|
||
|
@@ -330,7 +330,8 @@ dm_get_map(int major, int minor, char *
|
||
|
next = dm_get_next_target(dmt, next, &start, &length,
|
||
|
&target_type, ¶ms);
|
||
|
|
||
|
- if (snprintf(outparams, PARAMS_SIZE, "%s", params) <= PARAMS_SIZE)
|
||
|
+ if (params &&
|
||
|
+ snprintf(outparams, PARAMS_SIZE, "%s", params) <= PARAMS_SIZE)
|
||
|
r = 0;
|
||
|
out:
|
||
|
dm_task_destroy(dmt);
|
||
|
Index: multipath-tools-130222/libmultipath/devmapper.c
|
||
|
===================================================================
|
||
|
--- multipath-tools-130222.orig/libmultipath/devmapper.c
|
||
|
+++ multipath-tools-130222/libmultipath/devmapper.c
|
||
|
@@ -461,6 +461,8 @@ dm_get_map(const char * name, unsigned l
|
||
|
/* Fetch 1st target */
|
||
|
next = dm_get_next_target(dmt, next, &start, &length,
|
||
|
&target_type, ¶ms);
|
||
|
+ if (!params)
|
||
|
+ goto out;
|
||
|
|
||
|
if (size)
|
||
|
*size = length;
|
||
|
@@ -564,7 +566,8 @@ dm_get_status(char * name, char * outsta
|
||
|
next = dm_get_next_target(dmt, next, &start, &length,
|
||
|
&target_type, &status);
|
||
|
|
||
|
- if (snprintf(outstatus, PARAMS_SIZE, "%s", status) <= PARAMS_SIZE)
|
||
|
+ if (status &&
|
||
|
+ snprintf(outstatus, PARAMS_SIZE, "%s", status) <= PARAMS_SIZE)
|
||
|
r = 0;
|
||
|
out:
|
||
|
if (r)
|
||
|
@@ -1525,6 +1528,8 @@ int dm_reassign_table(const char *name,
|
||
|
do {
|
||
|
next = dm_get_next_target(dmt, next, &start, &length,
|
||
|
&target, ¶ms);
|
||
|
+ if (!params || !target)
|
||
|
+ continue;
|
||
|
memset(buff, 0, PARAMS_SIZE);
|
||
|
strcpy(buff, params);
|
||
|
if (strcmp(target, TGT_MPATH) && strstr(params, old)) {
|