diff options
author | Coly Li <colyli@suse.de> | 2019-02-12 05:53:18 +0100 |
---|---|---|
committer | Jes Sorensen <jsorensen@fb.com> | 2019-02-13 19:12:50 +0100 |
commit | e3615ecb5b6ad8eb408296878aad5628e0e27166 (patch) | |
tree | ec8033f308012238fef2cfcfbe41e49d0086d3f1 /Detail.c | |
parent | Fix spelling typos. (diff) | |
download | mdadm-e3615ecb5b6ad8eb408296878aad5628e0e27166.tar.xz mdadm-e3615ecb5b6ad8eb408296878aad5628e0e27166.zip |
Detail.c: do not skip first character when calling xstrdup in Detail()
'Commit b9c9bd9bacaa ("Detail: ensure --export names are acceptable as
shell variables")' duplicates mdi->sys_name to sysdev string by,
char *sysdev = xstrdup(mdi->sys_name + 1);
which skips the first character of mdi->sys_name. Then when running
mdadm --detail <md device> --export, the output looks like,
MD_DEVICE_ev_sda2_ROLE=1
MD_DEVICE_ev_sda2_DEV=/dev/sda2
The first character of md device (between MD_DEVICE and _ROLE/_DEV)
is dropped. The expected output should be,
MD_DEVICE_dev_sda2_ROLE=1
MD_DEVICE_dev_sda2_DEV=/dev/sda2
This patch removes the '+ 1' from calling xstrdup() in Detail(), which
gets the dropped first character back.
Reported-by: Arvin Schnell <aschnell@suse.com>
Fixes: b9c9bd9bacaa ("Detail: ensure --export names are acceptable as 4 shell variables")
Signed-off-by: Coly Li <colyli@suse.de>
Cc: NeilBrown <neilb@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Diffstat (limited to 'Detail.c')
-rw-r--r-- | Detail.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -284,7 +284,7 @@ int Detail(char *dev, struct context *c) struct mdinfo *mdi; for (mdi = sra->devs; mdi; mdi = mdi->next) { char *path; - char *sysdev = xstrdup(mdi->sys_name + 1); + char *sysdev = xstrdup(mdi->sys_name); char *cp; path = map_dev(mdi->disk.major, |