From 16a1c8dcdfebd283c02dde2fc3f8355ce6979cdf Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 30 Jun 2021 12:25:18 +0200 Subject: [PATCH] lsblk: normalize space in SERIAL and MODEL 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 --- misc-utils/lsblk-properties.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/misc-utils/lsblk-properties.c b/misc-utils/lsblk-properties.c index 9ffe2e4af..bc6079371 100644 --- a/misc-utils/lsblk-properties.c +++ b/misc-utils/lsblk-properties.c @@ -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));