]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
return only as much as we decoded
authorAlan T. DeKok <aland@freeradius.org>
Sat, 9 Oct 2021 17:32:38 +0000 (13:32 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 10 Oct 2021 00:14:46 +0000 (20:14 -0400)
which lets TLVs work after structures

src/lib/util/struct.c

index 877b354e66ed9a6c89b11d3ecc23da489057f301..fb85c5b87a40ad085a3a0e00a8bad512e75e17c1 100644 (file)
@@ -393,13 +393,6 @@ ssize_t fr_struct_from_network(TALLOC_CTX *ctx, fr_pair_list_t *out,
                }
 
                fr_dict_unknown_free(&child);
-
-               /*
-                *      Else return whatever we decoded.  Note that if
-                *      the substruct ends in a TLV, we decode only as
-                *      many TLVs as the various "length" fields say.
-                */
-               data_len = p - data;
        }
 
 done:
@@ -412,7 +405,7 @@ done:
        }
 
        FR_PROTO_TRACE("used %zd bytes", data_len);
-       return data_len;
+       return p - data;
 }