diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ChangeLog | 8 | ||||
-rw-r--r-- | tests/aspath_test.c | 22 |
2 files changed, 29 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 1264bf0a..2ac5a517 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,11 @@ +2005-11-23 Paul Jakma <paul.jakma@sun.com> + + * aspath_test.c: Add an empty aspath to test segments, and to + compare tests. + Add a segment identical to seq1, but with one extra asn. + Fix bogus free of stream in make_aspath for case where + no stream was allocated (empty path data). + 2005-10-11 Paul Jakma <paul.jakma@sun.com> * test-privs.c: Privileges unit test. diff --git a/tests/aspath_test.c b/tests/aspath_test.c index f025cb77..de67990b 100644 --- a/tests/aspath_test.c +++ b/tests/aspath_test.c @@ -286,6 +286,22 @@ static struct test_segment { "8466 3 52737 4096 34285 8466 3 52737 4096 34285", 250, 0, NOT_ALL_PRIVATE, 4096, 4, 8466 }, }, + { /* 15 */ + "seq1extra", + "seq(8466,3,52737,4096,3456)", + { 0x2,0x5, 0x21,0x12, 0x00,0x03, 0xce,0x01, 0x10,0x00, 0x0d,0x80 }, + 12, + { "8466 3 52737 4096 3456", + "8466 3 52737 4096 3456", + 5, 0, NOT_ALL_PRIVATE, 4096, 4, 8466 }, + }, + { /* 16 */ + "empty", + "<empty>", + {}, + 0, + { "", "", 0, 0, 0, 0, 0, 0 }, + }, { NULL, NULL, {0}, 0, { NULL, 0, 0 } } }; @@ -445,6 +461,8 @@ struct compare_tests { 0, 1, CMP_RES_NO, CMP_RES_NO }, { 0, 2, CMP_RES_YES, CMP_RES_NO }, { 0, 11, CMP_RES_YES, CMP_RES_NO }, + { 0, 15, CMP_RES_YES, CMP_RES_NO }, + { 0, 16, CMP_RES_NO, CMP_RES_NO }, { 1, 11, CMP_RES_NO, CMP_RES_NO }, { 6, 7, CMP_RES_NO, CMP_RES_YES }, { 6, 8, CMP_RES_NO, CMP_RES_NO }, @@ -477,7 +495,9 @@ make_aspath (const u_char *data, size_t len) stream_put (s, data, len); } as = aspath_parse (s, len); - stream_free (s); + + if (s) + stream_free (s); return as; } |