From 667782bddb233bc7491f2214b2c3c09b9970d82e Mon Sep 17 00:00:00 2001 From: skarg Date: Mon, 28 Sep 2009 15:44:47 +0000 Subject: [PATCH] Added minimum device object name length check. --- bacnet-stack/ports/bdk-atxx4-mstp/device.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bacnet-stack/ports/bdk-atxx4-mstp/device.c b/bacnet-stack/ports/bdk-atxx4-mstp/device.c index e77d5b38..7b66d1c5 100644 --- a/bacnet-stack/ports/bdk-atxx4-mstp/device.c +++ b/bacnet-stack/ports/bdk-atxx4-mstp/device.c @@ -137,16 +137,17 @@ void Device_Init( eeprom_bytes_read(NV_EEPROM_DEVICE_NAME_0, (uint8_t *) & Object_Name[0], NV_EEPROM_DEVICE_NAME_SIZE); if ((Object_Name_Encoding >= MAX_CHARACTER_STRING_ENCODING) || - (Object_Name_Length > NV_EEPROM_DEVICE_NAME_SIZE)) { + (Object_Name_Length > NV_EEPROM_DEVICE_NAME_SIZE) || + (Object_Name_Length < 1)) { Object_Name_Encoding = CHARACTER_ANSI_X34; - Object_Name_Length = 11; eeprom_bytes_write(NV_EEPROM_DEVICE_NAME_ENCODING, &Object_Name_Encoding, 1); - eeprom_bytes_write(NV_EEPROM_DEVICE_NAME_LENGTH, &Object_Name_Length, - 1); sprintf(Object_Name, "DEVICE-%lu", Object_Instance_Number); eeprom_bytes_write(NV_EEPROM_DEVICE_NAME_0, (uint8_t *) & Object_Name[0], NV_EEPROM_DEVICE_NAME_SIZE); + Object_Name_Length = strlen(Object_Name); + eeprom_bytes_write(NV_EEPROM_DEVICE_NAME_LENGTH, &Object_Name_Length, + 1); } }