]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: avoid memcmp(NULL, NULL)
authorQuentin Young <qlyoung@cumulusnetworks.com>
Tue, 7 Jan 2020 05:51:35 +0000 (00:51 -0500)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 15 Jan 2020 17:52:49 +0000 (12:52 -0500)
Undefined behavior

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
bgpd/bgp_attr.c

index 47ecfce41e4b50da6f13cb478db16abad1e60228..53e6acc4241d0e2a2ad7c16d43c195a1aa9d5f63 100644 (file)
@@ -152,8 +152,9 @@ static bool cluster_hash_cmp(const void *p1, const void *p2)
        const struct cluster_list *cluster2 = p2;
 
        return (cluster1->length == cluster2->length
-               && memcmp(cluster1->list, cluster2->list, cluster1->length)
-                          == 0);
+               && (cluster1->list == cluster2->list
+                   || memcmp(cluster1->list, cluster2->list, cluster1->length)
+                              == 0));
 }
 
 static void cluster_free(struct cluster_list *cluster)