]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsblk: normalize space in SERIAL and MODEL
authorKarel Zak <kzak@redhat.com>
Wed, 30 Jun 2021 10:25:18 +0000 (12:25 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 30 Jun 2021 10:25:18 +0000 (12:25 +0200)
These strings come from HW and udev does not modify it. It seems good
idea to clean up it before we print it.

Fixes: https://github.com/karelzak/util-linux/issues/1368
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/lsblk-properties.c

index 9ffe2e4afdb83108e9dd42e2288277f2c212329c..bc6079371b9653f0eadaf37d9404f5929ec023af 100644 (file)
@@ -112,15 +112,19 @@ static struct lsblk_devprop *get_properties_by_udev(struct lsblk_device *ld)
                        data = udev_device_get_property_value(dev, "ID_SERIAL_SHORT");
                if(!data)
                        data = udev_device_get_property_value(dev, "ID_SERIAL");
-               if (data)
+               if (data) {
                        prop->serial = xstrdup(data);
+                       normalize_whitespace((unsigned char *) prop->serial);
+               }
 
                if ((data = udev_device_get_property_value(dev, "ID_MODEL_ENC"))) {
                        prop->model = xstrdup(data);
                        unhexmangle_string(prop->model);
                        normalize_whitespace((unsigned char *) prop->model);
-               } else if ((data = udev_device_get_property_value(dev, "ID_MODEL")))
+               } else if ((data = udev_device_get_property_value(dev, "ID_MODEL"))) {
                        prop->model = xstrdup(data);
+                       normalize_whitespace((unsigned char *) prop->model);
+               }
 
                udev_device_unref(dev);
                DBG(DEV, ul_debugobj(ld, "%s: found udev properties", ld->name));