const NameIDType* n, vector<NameIDAttribute::Value>& dest, const char* assertingParty, const char* relyingParty\r
) const\r
{\r
- char* name = toUTF8(n->getName());\r
- if (name && *name) {\r
+ auto_arrayptr<char> name(toUTF8(n->getName()));\r
+ if (name.get() && *name.get()) {\r
dest.push_back(NameIDAttribute::Value());\r
NameIDAttribute::Value& val = dest.back();\r
- val.m_Name = name;\r
+ val.m_Name = name.get();\r
char* str = toUTF8(n->getFormat());\r
if (str) {\r
val.m_Format = str;\r
delete[] str;\r
}\r
}\r
- delete[] name;\r
}\r
\r
void NameIDAttributeDecoder::extract(\r
const NameIdentifier* n, vector<NameIDAttribute::Value>& dest, const char* assertingParty, const char* relyingParty\r
) const\r
{\r
- char* name = toUTF8(n->getName());\r
- if (name && *name) {\r
+ auto_arrayptr<char> name(toUTF8(n->getName()));\r
+ if (name.get() && *name.get()) {\r
dest.push_back(NameIDAttribute::Value());\r
NameIDAttribute::Value& val = dest.back();\r
- val.m_Name = name;\r
+ val.m_Name = name.get();\r
char* str = toUTF8(n->getFormat());\r
if (str) {\r
val.m_Format = str;\r
if (relyingParty)\r
val.m_SPNameQualifier = relyingParty;\r
}\r
- delete[] name;\r
}\r