chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
network-internal: fix inverted matching
[elogind.git]
/
src
/
libsystemd-network
/
test-lldp.c
diff --git
a/src/libsystemd-network/test-lldp.c
b/src/libsystemd-network/test-lldp.c
index e9d5d7bb60e0c72db6fd96cfe79dd39dc46c73eb..ee74ebd418951fe5b566ecf782451ba2f412caed 100644
(file)
--- a/
src/libsystemd-network/test-lldp.c
+++ b/
src/libsystemd-network/test-lldp.c
@@
-45,13
+45,13
@@
static struct ether_addr mac_addr = {
static int lldp_build_tlv_packet(tlv_packet **ret) {
_cleanup_tlv_packet_free_ tlv_packet *m = NULL;
const uint8_t lldp_dst[] = LLDP_MULTICAST_ADDR;
static int lldp_build_tlv_packet(tlv_packet **ret) {
_cleanup_tlv_packet_free_ tlv_packet *m = NULL;
const uint8_t lldp_dst[] = LLDP_MULTICAST_ADDR;
- struct ether_header ether;
+ struct ether_header ether = {
+ .ether_type = htons(ETHERTYPE_LLDP),
+ };
/* Append ethernet header */
/* Append ethernet header */
- memset(ðer, 0, sizeof(ether));
memcpy(ðer.ether_dhost, lldp_dst, ETHER_ADDR_LEN);
memcpy(ðer.ether_shost, &mac_addr, ETHER_ADDR_LEN);
memcpy(ðer.ether_dhost, lldp_dst, ETHER_ADDR_LEN);
memcpy(ðer.ether_shost, &mac_addr, ETHER_ADDR_LEN);
- ether.ether_type = htons(ETHERTYPE_LLDP);
assert_se(tlv_packet_new(&m) >= 0);
assert_se(tlv_packet_new(&m) >= 0);
@@
-131,7
+131,8
@@
static int lldp_parse_chassis_tlv(tlv_packet *m, uint8_t *type) {
}
static int lldp_parse_port_id_tlv(tlv_packet *m) {
}
static int lldp_parse_port_id_tlv(tlv_packet *m) {
- char *str = NULL, *p;
+ _cleanup_free_ char *p = NULL;
+ char *str = NULL;
uint16_t length;
uint8_t subtype;
uint16_t length;
uint8_t subtype;
@@
-143,8
+144,8
@@
static int lldp_parse_port_id_tlv(tlv_packet *m) {
case LLDP_PORT_SUBTYPE_INTERFACE_NAME:
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
case LLDP_PORT_SUBTYPE_INTERFACE_NAME:
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
- p =
malloc0(length +
1);
-
strncpy(p, str, length-1
);
+ p =
strndup(str, length-
1);
+
assert_se(p
);
assert_se(streq(p, TEST_LLDP_PORT) == 1);
break;
assert_se(streq(p, TEST_LLDP_PORT) == 1);
break;
@@
-158,14
+159,15
@@
static int lldp_parse_port_id_tlv(tlv_packet *m) {
}
static int lldp_parse_system_name_tlv(tlv_packet *m) {
}
static int lldp_parse_system_name_tlv(tlv_packet *m) {
- char *str = NULL, *p;
+ _cleanup_free_ char *p = NULL;
+ char *str = NULL;
uint16_t length;
assert_se(lldp_tlv_packet_enter_container(m, LLDP_TYPE_SYSTEM_NAME) >= 0);
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
uint16_t length;
assert_se(lldp_tlv_packet_enter_container(m, LLDP_TYPE_SYSTEM_NAME) >= 0);
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
- p =
malloc0(length + 1
);
-
strncpy(p, str, length
);
+ p =
strndup(str, length
);
+
assert_se(p
);
assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_NAME) == 1);
assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_NAME) == 1);
@@
-175,14
+177,15
@@
static int lldp_parse_system_name_tlv(tlv_packet *m) {
}
static int lldp_parse_system_desc_tlv(tlv_packet *m) {
}
static int lldp_parse_system_desc_tlv(tlv_packet *m) {
- char *str = NULL, *p;
+ _cleanup_free_ char *p = NULL;
+ char *str = NULL;
uint16_t length;
assert_se(lldp_tlv_packet_enter_container(m, LLDP_TYPE_SYSTEM_DESCRIPTION) >= 0);
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
uint16_t length;
assert_se(lldp_tlv_packet_enter_container(m, LLDP_TYPE_SYSTEM_DESCRIPTION) >= 0);
assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
- p =
malloc0(length + 1
);
-
strncpy(p, str, length
);
+ p =
strndup(str, length
);
+
assert_se(p
);
assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_DESC) == 1);
assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_DESC) == 1);