Signed-off-by: Changpeng Liu <changpeng....@intel.com>
---
 examples/vhost_scsi/scsi.c       | 23 ++++++++++++-----------
 examples/vhost_scsi/vhost_scsi.c |  5 +++--
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/examples/vhost_scsi/scsi.c b/examples/vhost_scsi/scsi.c
index 0c2fa3e..1572098 100644
--- a/examples/vhost_scsi/scsi.c
+++ b/examples/vhost_scsi/scsi.c
@@ -182,8 +182,8 @@
                        break;
                case SPC_VPD_UNIT_SERIAL_NUMBER:
                        hlen = 4;
-                       strlcpy((char *)vpage->params, bdev->name,
-                                       sizeof(vpage->params));
+                       vhost_strcpy_pad((char *)vpage->params, bdev->name,
+                                       sizeof(vpage->params), ' ');
                        vpage->alloc_len = rte_cpu_to_be_16(32);
                        break;
                case SPC_VPD_DEVICE_IDENTIFICATION:
@@ -217,10 +217,11 @@
                        desig->piv = 1;
                        desig->reserved1 = 0;
                        desig->len = 8 + 16 + 32;
-                       strlcpy((char *)desig->desig, "INTEL", 8);
+                       vhost_strcpy_pad((char *)desig->desig, "INTEL", 8, ' ');
                        vhost_strcpy_pad((char *)&desig->desig[8],
                                         bdev->product_name, 16, ' ');
-                       strlcpy((char *)&desig->desig[24], bdev->name, 32);
+                       vhost_strcpy_pad((char *)&desig->desig[24], bdev->name,
+                                       32, ' ');
                        len += sizeof(struct scsi_desig_desc) + 8 + 16 + 32;
 
                        buf += sizeof(struct scsi_desig_desc) + desig->len;
@@ -277,17 +278,17 @@
                inqdata->flags3 = 0x2;
 
                /* T10 VENDOR IDENTIFICATION */
-               strlcpy((char *)inqdata->t10_vendor_id, "INTEL",
-                       sizeof(inqdata->t10_vendor_id));
+               vhost_strcpy_pad((char *)inqdata->t10_vendor_id, "INTEL",
+                       sizeof(inqdata->t10_vendor_id), ' ');
 
                /* PRODUCT IDENTIFICATION */
-               snprintf((char *)inqdata->product_id,
-                               RTE_DIM(inqdata->product_id), "%s",
-                               bdev->product_name);
+               vhost_strcpy_pad((char *)inqdata->product_id,
+                               bdev->product_name,
+                               sizeof(inqdata->product_id), ' ');
 
                /* PRODUCT REVISION LEVEL */
-               strlcpy((char *)inqdata->product_rev, "0001",
-                       sizeof(inqdata->product_rev));
+               vhost_strcpy_pad((char *)inqdata->product_rev, "0001",
+                       sizeof(inqdata->product_rev), ' ');
 
                /* Standard inquiry data ends here. Only populate
                 * remaining fields if alloc_len indicates enough
diff --git a/examples/vhost_scsi/vhost_scsi.c b/examples/vhost_scsi/vhost_scsi.c
index a1d542b..4e57462 100644
--- a/examples/vhost_scsi/vhost_scsi.c
+++ b/examples/vhost_scsi/vhost_scsi.c
@@ -183,8 +183,9 @@ static uint64_t gpa_to_vva(int vid, uint64_t gpa, uint64_t 
*len)
        if (!bdev)
                return NULL;
 
-       strncpy(bdev->name, bdev_name, sizeof(bdev->name));
-       strncpy(bdev->product_name, bdev_serial, sizeof(bdev->product_name));
+       snprintf(bdev->name, sizeof(bdev->name), "%s", bdev_name);
+       snprintf(bdev->product_name, sizeof(bdev->product_name),
+               "%s", bdev_serial);
        bdev->blocklen = blk_size;
        bdev->blockcnt = blk_cnt;
        bdev->write_cache = wce_enable;
-- 
1.9.3

Reply via email to