From 2c0401325ecdfdcbbec61a0a4b2c96263a7a91c8 Mon Sep 17 00:00:00 2001 From: Tobias Jungel Date: Tue, 5 Jun 2018 10:53:05 +0200 Subject: [PATCH] x86-64-delta-ag9032v1 fix -Werror=format-overflow would write a terminating nul past the end of dest --- .../onlp/builds/src/module/src/fani.c | 16 ++++---- .../onlp/builds/src/module/src/sfpi.c | 37 +++++++++---------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/fani.c b/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/fani.c index b4801ac1..2f913938 100644 --- a/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/fani.c +++ b/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/fani.c @@ -117,7 +117,7 @@ dni_fani_info_get_fan(int local_id, onlp_fan_info_t* info) dev_info.addr = FAN_IO_CTL; dev_info.offset = 0x00; dev_info.flags = DEFAULT_FLAG; - + sprintf(fullpath, "%s%s", PREFIX_PATH, fan_path[local_id].speed); rpm = dni_i2c_lock_read_attribute(&mux_info, fullpath); info->rpm = rpm; @@ -128,7 +128,7 @@ dni_fani_info_get_fan(int local_id, onlp_fan_info_t* info) /* get speed percentage from rpm */ info->percentage = (info->rpm * 100)/MAX_FAN_SPEED; - + mux_info.channel = 0x07; present_bit = dni_i2c_lock_read(&mux_info, &dev_info); switch(local_id) @@ -179,7 +179,7 @@ dni_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info) int r_data = 0; uint8_t channel = 0x00; char fullpath[80] = {0}; - char channel_data[2] = {'\0'}; + char channel_data[3] = {'\0'}; mux_info_t mux_info; dev_info_t dev_info; @@ -235,7 +235,7 @@ dni_fani_info_get_fan_on_psu(int local_id, onlp_fan_info_t* info) /* get speed percentage from rpm */ info->percentage = ((info->rpm) * 100) / MAX_PSU_FAN_SPEED; - + return ONLP_STATUS_OK; } @@ -338,11 +338,11 @@ onlp_fani_rpm_set(onlp_oid_t id, int rpm) */ int onlp_fani_percentage_set(onlp_oid_t id, int p) -{ +{ int local_id; char data[10] = {0}; char fullpath[70] = {0}; - char channel_data[2] = {'\0'}; + char channel_data[3] = {'\0'}; VALIDATE(id); local_id = ONLP_OID_ID_GET(id); @@ -375,11 +375,11 @@ onlp_fani_percentage_set(onlp_oid_t id, int p) } sprintf(fullpath, "%s%s", PREFIX_PATH, fan_path[local_id].ctrl_speed); - + /* Write percentage to psu_fan1_duty_cycle_percentage */ sprintf(data, "%d", p); dni_i2c_lock_write_attribute(NULL, data, fullpath); - + return ONLP_STATUS_OK; } diff --git a/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/sfpi.c b/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/sfpi.c index 7eee58d7..529c6cdc 100644 --- a/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/sfpi.c +++ b/packages/platforms/delta/x86-64/x86-64-delta-ag9032v1/onlp/builds/src/module/src/sfpi.c @@ -38,7 +38,7 @@ static inline int ag9032v1_sfp_get_lp_mode_reg(int port) { uint8_t reg_offset = 0x00; if (port < 8) /* port 0-7 */ - reg_offset = SFP_LP_MODE_1; + reg_offset = SFP_LP_MODE_1; else if (port > 7 && port < 16) /* port 8-15 */ reg_offset = SFP_LP_MODE_2; else if (port > 15 && port < 24) /* port 16-23 */ @@ -52,7 +52,7 @@ static inline int ag9032v1_sfp_get_lp_mode_reg(int port) { static inline int ag9032v1_sfp_get_reset_reg(int port) { uint8_t reg_offset = 0x00; if (port < 8) /* port 0-7 */ - reg_offset = SFP_RESET_1; + reg_offset = SFP_RESET_1; else if (port > 7 && port < 16) /* port 8-15 */ reg_offset = SFP_RESET_2; else if (port > 15 && port < 24) /* port 16-23 */ @@ -66,7 +66,7 @@ static inline int ag9032v1_sfp_get_reset_reg(int port) { static inline int ag9032v1_sfp_get_respond_reg(int port) { uint8_t reg_offset = 0x00; if (port < 8) /* port 0-7 */ - reg_offset = SFP_RESPOND_1; + reg_offset = SFP_RESPOND_1; else if (port > 7 && port < 16) /* port 8-15 */ reg_offset = SFP_RESPOND_2; else if (port > 15 && port < 24) /* port 16-23 */ @@ -124,7 +124,7 @@ onlp_sfpi_bitmap_get(onlp_sfp_bitmap_t* bmap) int onlp_sfpi_is_present(int port) { - char port_data[2] = {'\0'}; + char port_data[3] = {'\0'}; uint8_t present = 0; uint8_t present_bit = 0; @@ -143,9 +143,8 @@ onlp_sfpi_is_present(int port) present = 1; } else if (present_bit == 1) { present = 0; - AIM_LOG_ERROR("Unble to present status from port(%d)\r\n", port); } else { - /* Port range over 0-31, return -1 */ + /* Port range over 0-31, return -1 */ AIM_LOG_ERROR("Error to present status from port(%d)\r\n", port); present = -1; } @@ -162,7 +161,7 @@ onlp_sfpi_presence_bitmap_get(onlp_sfp_bitmap_t* dst) uint8_t bytes[4]; int count = 0; - /* Read presence bitmap from SWPLD QSFP28 Presence Register + /* Read presence bitmap from SWPLD QSFP28 Presence Register * if only port 0 is present, return 7F FF FF FF * if only port 0 and 1 present, return 3F FF FF FF */ @@ -170,11 +169,11 @@ onlp_sfpi_presence_bitmap_get(onlp_sfp_bitmap_t* dst) sizeof(present_all_data), 0) < 0) { return -1; } - + /* String split */ r_byte = strtok(present_all_data, " "); while (r_byte != NULL) { - r_array[count++] = r_byte; + r_array[count++] = r_byte; r_byte = strtok(NULL, " "); } @@ -217,7 +216,7 @@ onlp_sfpi_eeprom_read(int port, uint8_t data[256]) { uint8_t sfp_response_reg = 0x00; uint8_t backup_response_data = 0x00; - char port_data[2] = {'\0'}; + char port_data[3] = {'\0'}; /* Get port respond register offset */ sfp_response_reg = ag9032v1_sfp_get_respond_reg(port); @@ -234,7 +233,7 @@ onlp_sfpi_eeprom_read(int port, uint8_t data[256]) memset(data, 0, 256); /* Read qsfp eeprom information into data[] */ - if (dni_i2c_read_attribute_binary(SFP_EEPROM_PATH, + if (dni_i2c_read_attribute_binary(SFP_EEPROM_PATH, (char *)data, 256, 256) != 0) { AIM_LOG_INFO("Unable to read eeprom from port(%d)\r\n", port); return ONLP_STATUS_E_INTERNAL; @@ -413,7 +412,7 @@ int onlp_sfpi_dev_writew(int port, uint8_t devaddr, uint8_t addr, uint16_t value int onlp_sfpi_control_supported(int port, onlp_sfp_control_t control, int* rv) { - char port_data[2] = {'\0'}; + char port_data[3] = {'\0'}; /* Select QSFP port */ sprintf(port_data, "%d", port + 1); @@ -424,13 +423,13 @@ onlp_sfpi_control_supported(int port, onlp_sfp_control_t control, int* rv) *rv = 1; break; case ONLP_SFP_CONTROL_RX_LOS: - *rv = 0; + *rv = 0; break; case ONLP_SFP_CONTROL_TX_DISABLE: *rv = 0; break; case ONLP_SFP_CONTROL_LP_MODE: - *rv = 1; + *rv = 1; break; default: return ONLP_STATUS_OK; @@ -443,7 +442,7 @@ int onlp_sfpi_control_set(int port, onlp_sfp_control_t control, int value) { uint8_t value_t = 0; - char port_data[2] = {'\0'}; + char port_data[3] = {'\0'}; /* Select QSFP port */ sprintf(port_data, "%d", port + 1); @@ -478,7 +477,7 @@ int onlp_sfpi_control_get(int port, onlp_sfp_control_t control, int* value) { uint8_t value_t = 0; - char port_data[2] = {'\0'}; + char port_data[3] = {'\0'}; /* Select QSFP port */ sprintf(port_data, "%d", port + 1); @@ -492,10 +491,10 @@ onlp_sfpi_control_get(int port, onlp_sfp_control_t control, int* value) * return 1 = The module is NOT in Reset */ if (*value == 0) - *value = 1; + *value = 1; else if (*value == 1) - *value = 0; - + *value = 0; + value_t = ONLP_STATUS_OK; break; case ONLP_SFP_CONTROL_RX_LOS: