From 0b06247833dbb329984946383e30e4076d9a663b Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Mon, 16 Jan 2017 17:48:49 +0100 Subject: [PATCH] Fix `DSRecordContent::operator==` hiding virtual `DNSRecordContent::operator==` Hopefully we should be able to enable `-Woverloaded-virtual` soon. --- pdns/dnsrecords.hh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pdns/dnsrecords.hh b/pdns/dnsrecords.hh index 97c66d0052..e3eed1ef27 100644 --- a/pdns/dnsrecords.hh +++ b/pdns/dnsrecords.hh @@ -340,10 +340,13 @@ class DSRecordContent : public DNSRecordContent { public: DSRecordContent(); - bool operator==(const DSRecordContent& rhs) const + bool operator==(const DNSRecordContent& rhs) const override { + if(typeid(*this) != typeid(rhs)) + return false; + auto rrhs =dynamic_cast(&rhs); return tie(d_tag, d_algorithm, d_digesttype, d_digest) == - tie(rhs.d_tag, rhs.d_algorithm, rhs.d_digesttype, rhs.d_digest); + tie(rrhs->d_tag, rrhs->d_algorithm, rrhs->d_digesttype, rrhs->d_digest); } bool operator<(const DSRecordContent& rhs) const { -- 2.47.2