chiark / gitweb /
libsystemd-network: Avoid potential NULL dereference in test-lldp
authorPhilippe De Swert <philippedeswert@gmail.com>
Sun, 8 Feb 2015 20:21:51 +0000 (22:21 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 10 Feb 2015 20:11:52 +0000 (21:11 +0100)
As a malloc0 could fail, doing a strncpy without checking could
cause issues. Adding an assert should be good enough and in line
with other similar routines in the code.

Found with Coverity Fixes: CID#1261402

src/libsystemd-network/test-lldp.c

index 288aac5961fa62976e22399aaa1afdecb80efa93..2e6bf14e8126202a80488d78d86fbc13f9d8e3b8 100644 (file)
@@ -166,6 +166,7 @@ static int lldp_parse_system_name_tlv(tlv_packet *m) {
         assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
 
         p = malloc0(length + 1);
         assert_se(tlv_packet_read_string(m, &str, &length) >= 0);
 
         p = malloc0(length + 1);
+        assert_se(p);
         strncpy(p, str, length);
 
         assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_NAME) == 1);
         strncpy(p, str, length);
 
         assert_se(streq(p, TEST_LLDP_TYPE_SYSTEM_NAME) == 1);