]> git.puffer.fish Git - mirror/frr.git/commitdiff
tests/isisd: remove auth when fuzzing
authorChristian Franke <chris@opensourcerouting.org>
Fri, 25 May 2018 12:31:59 +0000 (14:31 +0200)
committerChristian Franke <chris@opensourcerouting.org>
Wed, 5 Sep 2018 09:38:13 +0000 (11:38 +0200)
Our "deserialize, reserialize, check-equality" test fails when the
fuzzer produces PDUs with incorrect cryptographic checksums.

While the most realistic solution would be to validate the
cryptographic checksums in the test program, that seems very silly,
given that we don't want to fuzz our cryptographic auth.

Given that, removing auth during fuzzing seems the next best solution.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
tests/isisd/test_fuzz_isis_tlv.c

index 67a1593500b96ef92e41aef9cfcdf5948909dc47..3a56f83f0a9fffbc80bed240723172f055fef928 100644 (file)
@@ -114,7 +114,11 @@ static int test(FILE *input, FILE *output)
        const char *s_tlvs = isis_format_tlvs(tlvs);
        fprintf(output, "Unpacked TLVs:\n%s", s_tlvs);
 
+       struct isis_item *orig_auth = tlvs->isis_auth.head;
+       tlvs->isis_auth.head = NULL;
+       s_tlvs = isis_format_tlvs(tlvs);
        struct isis_tlvs *tlv_copy = isis_copy_tlvs(tlvs);
+       tlvs->isis_auth.head = orig_auth;
        isis_free_tlvs(tlvs);
 
        struct stream *s2 = stream_new(TEST_STREAM_SIZE);