diff --git a/common/usbx_device_classes/src/ux_device_class_storage_initialize.c b/common/usbx_device_classes/src/ux_device_class_storage_initialize.c index 0ec29d8d..be1bb69e 100644 --- a/common/usbx_device_classes/src/ux_device_class_storage_initialize.c +++ b/common/usbx_device_classes/src/ux_device_class_storage_initialize.c @@ -1,10 +1,10 @@ /*************************************************************************** - * Copyright (c) 2024 Microsoft Corporation - * + * Copyright (c) 2024 Microsoft Corporation + * * This program and the accompanying materials are made available under the * terms of the MIT License which is available at * https://opensource.org/licenses/MIT. - * + * * SPDX-License-Identifier: MIT **************************************************************************/ @@ -290,8 +290,17 @@ UINT i; storage_parameter = command -> ux_slave_class_command_parameter; /* Sanity checks. */ - if (storage_parameter -> ux_slave_class_storage_parameter_number_lun > UX_MAX_SLAVE_LUN) + if ((storage_parameter -> ux_slave_class_storage_parameter_number_lun > UX_MAX_SLAVE_LUN) || + ((storage_parameter -> ux_slave_class_storage_parameter_vendor_id != UX_NULL) && + ( _ux_utility_string_length_get(storage_parameter -> ux_slave_class_storage_parameter_vendor_id) != 8)) || + ((storage_parameter -> ux_slave_class_storage_parameter_product_id != UX_NULL) && + ( _ux_utility_string_length_get(storage_parameter -> ux_slave_class_storage_parameter_product_id) != 16)) || + ((storage_parameter -> ux_slave_class_storage_parameter_product_rev != UX_NULL) && + ( _ux_utility_string_length_get(storage_parameter -> ux_slave_class_storage_parameter_product_rev) != 4)) || + ((storage_parameter -> ux_slave_class_storage_parameter_product_serial != UX_NULL) && + ( _ux_utility_string_length_get(storage_parameter -> ux_slave_class_storage_parameter_product_serial) != 20))) return(UX_INVALID_PARAMETER); + for (i = 0; i < storage_parameter -> ux_slave_class_storage_parameter_number_lun; i ++) { if ((storage_parameter -> ux_slave_class_storage_parameter_lun[i].