diff --git a/common/cpp/src/database/encoding.cpp b/common/cpp/src/database/encoding.cpp index 76c41e36bd4e2cf7853881752ca798b06046d9bd..29a419752542ff44b724806b746f44ea8eff8c00 100644 --- a/common/cpp/src/database/encoding.cpp +++ b/common/cpp/src/database/encoding.cpp @@ -84,9 +84,9 @@ std::string EncodeColName(const std::string &colname) { } std::string DecodeName(const std::string &name) { - char *decoded = (char*) malloc(name.size()*sizeof(char)); - auto res = decode(name.c_str(), decoded); - return res >= 0 ? decoded : ""; + std::unique_ptr<char>decoded{new char(name.size())}; + auto res = decode(name.c_str(), decoded.get()); + return res >= 0 ? decoded.get() : ""; } bool ShouldEscapeQuery(char c) {