Hi! XSECC14n20010315 destructor performs delete [] m_exclNSList[i] but m_exclNSList items was allocated with strdup and must be released with free(). And mp_attributes cleanup is absent in code. So I propose this version of destructor:
XSECC14n20010315::~XSECC14n20010315() { if (mp_formatter != NULL) delete mp_formatter; // Clear out the exclusive namespace list int size = (int) m_exclNSList.size(); for (int i = 0; i < size; ++i) { free(m_exclNSList[i]); } m_exclNSList.clear(); while (mp_attributes != NULL) { mp_currentAttribute = mp_attributes->next; delete mp_attributes; mp_attributes = mp_currentAttribute; } mp_attributes = mp_currentAttribute = mp_firstNonNsAttribute = NULL; } Good luck! Vitaly