X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=extras%2Fscsi_id%2Fscsi_serial.c;h=80a1d5163516785f92ada6515b876234efa7f821;hb=e996d97835c8d0728a9d4880e9e1f8f285cadf4b;hp=18cd29081723698bc0e32f8ae3b68a6226581c83;hpb=eb7a964a7c66e5aff8147026a60c99258454b612;p=elogind.git diff --git a/extras/scsi_id/scsi_serial.c b/extras/scsi_id/scsi_serial.c index 18cd29081..80a1d5163 100644 --- a/extras/scsi_id/scsi_serial.c +++ b/extras/scsi_id/scsi_serial.c @@ -385,7 +385,7 @@ static int do_scsi_page0_inquiry(struct sysfs_class_device *scsi_dev, int fd, char *buffer, int len) { int retval; - char *vendor; + char vendor[MAX_ATTR_LEN]; memset(buffer, 0, len); retval = scsi_inquiry(scsi_dev, fd, 1, 0x0, buffer, len); @@ -415,9 +415,10 @@ static int do_scsi_page0_inquiry(struct sysfs_class_device *scsi_dev, int fd, * If the vendor id appears in the page assume the page is * invalid. */ - vendor = sysfs_get_attr(scsi_dev, "vendor"); - if (!vendor) { - log_message(LOG_WARNING, "%s: no vendor attribute\n", + if (sysfs_get_attr(scsi_dev->path, "vendor", vendor, + MAX_ATTR_LEN)) { + log_message(LOG_WARNING, + "%s: cannot get model attribute\n", scsi_dev->name); return 1; } @@ -437,12 +438,11 @@ static int do_scsi_page0_inquiry(struct sysfs_class_device *scsi_dev, int fd, static int prepend_vendor_model(struct sysfs_class_device *scsi_dev, char *serial) { - char *attr; + char attr[MAX_ATTR_LEN]; int ind; - attr = sysfs_get_attr(scsi_dev, "vendor"); - if (!attr) { - log_message(LOG_WARNING, "%s: no vendor attribute\n", + if (sysfs_get_attr(scsi_dev->path, "vendor", attr, MAX_ATTR_LEN)) { + log_message(LOG_WARNING, "%s: cannot get vendor attribute\n", scsi_dev->name); return 1; } @@ -454,9 +454,8 @@ static int prepend_vendor_model(struct sysfs_class_device *scsi_dev, if (serial[ind] == '\n') serial[ind] = '\0'; - attr = sysfs_get_attr(scsi_dev, "model"); - if (!attr) { - log_message(LOG_WARNING, "%s: no model attribute\n", + if (sysfs_get_attr(scsi_dev->path, "model", attr, MAX_ATTR_LEN)) { + log_message(LOG_WARNING, "%s: cannot get model attribute\n", scsi_dev->name); return 1; }