diff options
Diffstat (limited to 'node/CertificateOfMembership.cpp')
| -rw-r--r-- | node/CertificateOfMembership.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp index 0944851a..c0385fb7 100644 --- a/node/CertificateOfMembership.cpp +++ b/node/CertificateOfMembership.cpp @@ -51,6 +51,8 @@ std::string CertificateOfMembership::toString() const { std::string s; + s.append("1:"); // COM_UINT64_ED25519 + uint64_t *buf = new uint64_t[_qualifiers.size() * 3]; try { unsigned int ptr = 0; @@ -87,6 +89,13 @@ void CertificateOfMembership::fromString(const char *s) unsigned int colonAt = 0; while ((s[colonAt])&&(s[colonAt] != ':')) ++colonAt; + if (!((colonAt == 1)&&(s[0] == '1'))) // COM_UINT64_ED25519? + return; + + s += colonAt + 1; + colonAt = 0; + while ((s[colonAt])&&(s[colonAt] != ':')) ++colonAt; + if (colonAt) { unsigned int buflen = colonAt / 2; char *buf = new char[buflen]; |
