summaryrefslogtreecommitdiff
path: root/src/class
diff options
context:
space:
mode:
authorhathach <[email protected]>2019-03-03 20:37:12 -0800
committerGitHub <[email protected]>2019-03-03 20:37:12 -0800
commitf23affbb0a85d2dff8f5c0da80dd21ce2ac491af (patch)
treed6285c080680a50ce297be757d2e9298854d097c /src/class
parent55874813f82157b7509729b1a0c66e68f86e2d07 (diff)
parentfa8141f31fe7726ff00fbbe00b26b297c98f5ca2 (diff)
Merge pull request #39 from gpshead/strncpy-msc_dev_ids
Fixes #33: Remove invalid use of strncpy()
Diffstat (limited to 'src/class')
-rw-r--r--src/class/msc/msc_device.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c
index d8bb72216..abc051252 100644
--- a/src/class/msc/msc_device.c
+++ b/src/class/msc/msc_device.c
@@ -265,14 +265,20 @@ int32_t proc_builtin_scsi(msc_cbw_t const * p_cbw, uint8_t* buffer, uint32_t buf
.is_removable = 1,
.version = 2,
.response_data_format = 2,
- .vendor_id = "Adafruit",
- .product_id = "Feather52840",
- .product_rev = "1.0"
+ .vendor_id = " ",
+ .product_id = " ",
+ .product_rev = " ",
};
+ size_t len;
- strncpy((char*) inquiry_rsp.vendor_id , CFG_TUD_MSC_VENDOR , sizeof(inquiry_rsp.vendor_id));
- strncpy((char*) inquiry_rsp.product_id , CFG_TUD_MSC_PRODUCT , sizeof(inquiry_rsp.product_id));
- strncpy((char*) inquiry_rsp.product_rev, CFG_TUD_MSC_PRODUCT_REV, sizeof(inquiry_rsp.product_rev));
+ #define _min(a,b) ((a) < (b) ? (a) : (b))
+ len = strlen(CFG_TUD_MSC_VENDOR);
+ memcpy(inquiry_rsp.vendor_id , CFG_TUD_MSC_VENDOR , _min(len, sizeof(inquiry_rsp.vendor_id)));
+ len = strlen(CFG_TUD_MSC_PRODUCT);
+ memcpy(inquiry_rsp.product_id , CFG_TUD_MSC_PRODUCT , _min(len, sizeof(inquiry_rsp.product_id)));
+ len = strlen(CFG_TUD_MSC_PRODUCT_REV);
+ memcpy(inquiry_rsp.product_rev, CFG_TUD_MSC_PRODUCT_REV, _min(len, sizeof(inquiry_rsp.product_rev)));
+ #undef _min
ret = sizeof(inquiry_rsp);
memcpy(buffer, &inquiry_rsp, ret);