diff --git a/lib/libifconfig/libifconfig_carp.c b/lib/libifconfig/libifconfig_carp.c index 59faa8def4969e..8599470cd3f968 100644 --- a/lib/libifconfig/libifconfig_carp.c +++ b/lib/libifconfig/libifconfig_carp.c @@ -53,7 +53,7 @@ static struct snl_attr_parser ap_carp_get[] = { { .type = CARP_NL_STATE, .off = _OUT(carpr_state), .cb = snl_attr_get_uint32 }, { .type = CARP_NL_ADVBASE, .off = _OUT(carpr_advbase), .cb = snl_attr_get_int32 }, { .type = CARP_NL_ADVSKEW, .off = _OUT(carpr_advskew), .cb = snl_attr_get_int32 }, - { .type = CARP_NL_KEY, .off = _OUT(carpr_key), .cb = snl_attr_copy_string, .arg_u32 = CARP_KEY_LEN }, + { .type = CARP_NL_KEY, .off = _OUT(carpr_key), .cb = snl_attr_get_bytes, .arg_u32 = CARP_KEY_LEN }, { .type = CARP_NL_ADDR, .off = _OUT(carpr_addr), .cb = snl_attr_get_in_addr }, { .type = CARP_NL_ADDR6, .off = _OUT(carpr_addr6), .cb = snl_attr_get_in6_addr }, { .type = CARP_NL_VERSION, .off = _OUT(carpr_version), .cb = snl_attr_get_uint8 }, @@ -177,7 +177,8 @@ ifconfig_carp_set_info(ifconfig_handle_t *h, const char *name, &carpr->carpr_addr); snl_add_msg_attr(&nw, CARP_NL_ADDR6, sizeof(carpr->carpr_addr6), &carpr->carpr_addr6); - snl_add_msg_attr_string(&nw, CARP_NL_KEY, carpr->carpr_key); + snl_add_msg_attr(&nw, CARP_NL_KEY, sizeof(carpr->carpr_key), + carpr->carpr_key); snl_add_msg_attr_u8(&nw, CARP_NL_VERSION, carpr->carpr_version); snl_add_msg_attr_u8(&nw, CARP_NL_VRRP_PRIORITY, carpr->carpr_vrrp_prio); snl_add_msg_attr_u16(&nw, CARP_NL_VRRP_ADV_INTER, carpr->carpr_vrrp_adv_inter); diff --git a/lib/libifconfig/libifconfig_sfp.c b/lib/libifconfig/libifconfig_sfp.c index 1ba6d231a992e1..e1af4778443433 100644 --- a/lib/libifconfig/libifconfig_sfp.c +++ b/lib/libifconfig/libifconfig_sfp.c @@ -198,7 +198,7 @@ ifconfig_sfp_get_sfp_info(ifconfig_handle_t *h, const char *name, struct ifconfig_sfp_info *sfp) { struct i2c_info ii; - char buf[8]; + uint8_t buf[8]; memset(sfp, 0, sizeof(*sfp)); @@ -256,7 +256,7 @@ ifconfig_sfp_channel_count(const struct ifconfig_sfp_info *sfp) static void get_sff_string(struct i2c_info *ii, uint8_t addr, uint8_t off, char *dst) { - read_i2c(ii, addr, off, SFF_VENDOR_STRING_SIZE, dst); + read_i2c(ii, addr, off, SFF_VENDOR_STRING_SIZE, (uint8_t *)dst); dst += SFF_VENDOR_STRING_SIZE; do { *dst-- = '\0'; } while (*dst == 0x20); } @@ -264,7 +264,7 @@ get_sff_string(struct i2c_info *ii, uint8_t addr, uint8_t off, char *dst) static void get_sff_date(struct i2c_info *ii, uint8_t addr, uint8_t off, char *dst) { - char buf[SFF_VENDOR_DATE_SIZE]; + uint8_t buf[SFF_VENDOR_DATE_SIZE]; read_i2c(ii, addr, off, SFF_VENDOR_DATE_SIZE, buf); sprintf(dst, "20%c%c-%c%c-%c%c", buf[0], buf[1], buf[2], buf[3], @@ -386,7 +386,7 @@ get_sfp_status(struct i2c_info *ii, struct ifconfig_sfp_status *ss) uint8_t diag_type, flags; /* Read diagnostic monitoring type */ - read_i2c(ii, SFF_8472_BASE, SFF_8472_DIAG_TYPE, 1, (caddr_t)&diag_type); + read_i2c(ii, SFF_8472_BASE, SFF_8472_DIAG_TYPE, 1, &diag_type); if (ii->error != 0) return (-1); @@ -557,7 +557,7 @@ ifconfig_sfp_get_sfp_dump(ifconfig_handle_t *h, const char *name, struct i2c_info ii; uint8_t *buf = dump->data; - memset(dump->data, 0, sizeof(dump->data)); + memset(buf, 0, sizeof(dump->data)); if (i2c_info_init(&ii, h, name) != 0) return (-1);