Repository: trafficserver Updated Branches: refs/heads/master d59c7c0a9 -> ce5f3941e
TS-4066: Fixed most of the leaks in test_X509HostnameValidator This closes #474 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ce5f3941 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ce5f3941 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ce5f3941 Branch: refs/heads/master Commit: ce5f3941ecbc56673fa1deaa5a90c0c2c2468e22 Parents: d59c7c0 Author: Bryan Call <[email protected]> Authored: Fri Feb 12 15:03:45 2016 -0800 Committer: Bryan Call <[email protected]> Committed: Fri Feb 12 15:03:45 2016 -0800 ---------------------------------------------------------------------- lib/ts/test_X509HostnameValidator.cc | 6 ++++++ 1 file changed, 6 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce5f3941/lib/ts/test_X509HostnameValidator.cc ---------------------------------------------------------------------- diff --git a/lib/ts/test_X509HostnameValidator.cc b/lib/ts/test_X509HostnameValidator.cc index c2e8a7d..3252275 100644 --- a/lib/ts/test_X509HostnameValidator.cc +++ b/lib/ts/test_X509HostnameValidator.cc @@ -104,6 +104,7 @@ REGRESSION_TEST(CN_match)(RegressionTest *t, int /* atype ATS_UNUSED */, int *ps box.check(validate_hostname(x, (unsigned char *)test_certificate_cn_name, false, &matching) == true, "Hostname should match"); box.check(strcmp(test_certificate_cn_name, matching) == 0, "Return hostname doesn't match lookup"); box.check(validate_hostname(x, (unsigned char *)test_certificate_cn_name + 1, false, NULL) == false, "Hostname shouldn't match"); + ats_free(matching); } REGRESSION_TEST(bad_wildcard_SANs)(RegressionTest *t, int /* atype ATS_UNUSED */, int *pstatus) @@ -130,11 +131,13 @@ REGRESSION_TEST(wildcard_SAN_and_CN)(RegressionTest *t, int /* atype ATS_UNUSED box.check(x != NULL, "failed to load the test certificate"); box.check(validate_hostname(x, (unsigned char *)test_certificate_cn_name, false, &matching) == true, "Hostname should match"); box.check(strcmp(test_certificate_cn_name, matching) == 0, "Return hostname doesn't match lookup"); + ats_free(matching); box.check(validate_hostname(x, (unsigned char *)"a.trafficserver.org", false, &matching) == true, "Hostname should match"); box.check(strcmp("*.trafficserver.org", matching) == 0, "Return hostname doesn't match lookup"); box.check(validate_hostname(x, (unsigned char *)"a.*.trafficserver.org", false, NULL) == false, "Hostname shouldn't match"); + ats_free(matching); } REGRESSION_TEST(IDNA_hostnames)(RegressionTest *t, int /* atype ATS_UNUSED */, int *pstatus) @@ -147,6 +150,7 @@ REGRESSION_TEST(IDNA_hostnames)(RegressionTest *t, int /* atype ATS_UNUSED */, i box.check(validate_hostname(x, (unsigned char *)"xn--foobar.trafficserver.org", false, &matching) == true, "Hostname should match"); box.check(strcmp("*.trafficserver.org", matching) == 0, "Return hostname doesn't match lookup"); + ats_free(matching); // IDNA means wildcard must match full label box.check(validate_hostname(x, (unsigned char *)"xn--foobar.trafficserver.net", false, &matching) == false, @@ -163,9 +167,11 @@ REGRESSION_TEST(middle_label_match)(RegressionTest *t, int /* atype ATS_UNUSED * box.check(validate_hostname(x, (unsigned char *)"foosomething.trafficserver.com", false, &matching) == true, "Hostname should match"); box.check(strcmp("foo*.trafficserver.com", matching) == 0, "Return hostname doesn't match lookup"); + ats_free(matching); box.check(validate_hostname(x, (unsigned char *)"somethingbar.trafficserver.net", false, &matching) == true, "Hostname should match"); box.check(strcmp("*bar.trafficserver.net", matching) == 0, "Return hostname doesn't match lookup"); + ats_free(matching); box.check(validate_hostname(x, (unsigned char *)"a.bar.trafficserver.net", false, NULL) == false, "Hostname shouldn't match"); box.check(validate_hostname(x, (unsigned char *)"foo.bar.trafficserver.net", false, NULL) == false, "Hostname shouldn't match");
