From: Yu Watanabe Date: Wed, 21 Nov 2018 07:42:37 +0000 (+0900) Subject: udev/scsi_id: fix buffer length X-Git-Tag: v240~257^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c0c591544aacea052c405b0e4065823682640290;p=thirdparty%2Fsystemd.git udev/scsi_id: fix buffer length --- diff --git a/src/udev/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c index e50edb20b3a..e94f2946f9d 100644 --- a/src/udev/scsi_id/scsi_id.c +++ b/src/udev/scsi_id/scsi_id.c @@ -457,12 +457,12 @@ static int set_inq_values(struct scsi_id_device *dev_scsi, const char *path) { udev_util_encode_string(dev_scsi->vendor, vendor_enc_str, sizeof(vendor_enc_str)); udev_util_encode_string(dev_scsi->model, model_enc_str, sizeof(model_enc_str)); - util_replace_whitespace(dev_scsi->vendor, vendor_str, sizeof(vendor_str)); + util_replace_whitespace(dev_scsi->vendor, vendor_str, sizeof(vendor_str)-1); util_replace_chars(vendor_str, NULL); - util_replace_whitespace(dev_scsi->model, model_str, sizeof(model_str)); + util_replace_whitespace(dev_scsi->model, model_str, sizeof(model_str)-1); util_replace_chars(model_str, NULL); set_type(dev_scsi->type, type_str, sizeof(type_str)); - util_replace_whitespace(dev_scsi->revision, revision_str, sizeof(revision_str)); + util_replace_whitespace(dev_scsi->revision, revision_str, sizeof(revision_str)-1); util_replace_chars(revision_str, NULL); return 0; } @@ -503,10 +503,10 @@ static int scsi_id(char *maj_min_dev) { printf("ID_REVISION=%s\n", revision_str); printf("ID_TYPE=%s\n", type_str); if (dev_scsi.serial[0] != '\0') { - util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); + util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)-1); util_replace_chars(serial_str, NULL); printf("ID_SERIAL=%s\n", serial_str); - util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)); + util_replace_whitespace(dev_scsi.serial_short, serial_str, sizeof(serial_str)-1); util_replace_chars(serial_str, NULL); printf("ID_SERIAL_SHORT=%s\n", serial_str); } @@ -533,7 +533,7 @@ static int scsi_id(char *maj_min_dev) { if (reformat_serial) { char serial_str[MAX_SERIAL_LEN]; - util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)); + util_replace_whitespace(dev_scsi.serial, serial_str, sizeof(serial_str)-1); util_replace_chars(serial_str, NULL); printf("%s\n", serial_str); goto out;