]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/libsystemd-network/lldp-neighbor.c
tree-wide: use TAKE_PTR() and TAKE_FD() macros
[thirdparty/systemd.git] / src / libsystemd-network / lldp-neighbor.c
index 03f6628ab08b09b6c81ba4ec25aef432b3364690..84231091d08c18e2162bef69ea7a0c65f1ece078 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: LGPL-2.1+ */
 /***
   This file is part of systemd.
 
@@ -250,6 +251,9 @@ int lldp_neighbor_parse(sd_lldp_neighbor *n) {
                                 return -EBADMSG;
                         }
 
+                        /* Note that after processing the SD_LLDP_TYPE_END left could still be > 0
+                         * as the message may contain padding (see IEEE 802.1AB-2016, sec. 8.5.12) */
+
                         goto end_marker;
 
                 case SD_LLDP_TYPE_CHASSIS_ID:
@@ -670,8 +674,7 @@ _public_ int sd_lldp_neighbor_from_raw(sd_lldp_neighbor **ret, const void *raw,
         if (r < 0)
                 return r;
 
-        *ret = n;
-        n = NULL;
+        *ret = TAKE_PTR(n);
 
         return r;
 }