fix: fix script body access (#1169)

Signed-off-by: Vladislav Oleshko <vlad@dragonflydb.io>
This commit is contained in:
Vladislav 2023-05-01 20:05:18 +03:00 committed by GitHub
parent 89072228e5
commit c2af5b0de1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View file

@ -268,8 +268,9 @@ vector<pair<string, ScriptMgr::ScriptData>> ScriptMgr::GetAll() const {
lock_guard lk{mu_};
res.reserve(db_.size());
for (const auto& [sha, data] : db_) {
res.emplace_back(string{sha.data(), sha.size()},
ScriptData{data, data.body.get(), data.orig_body.get()});
string body = data.body ? string{data.body.get()} : string{};
string orig_body = data.orig_body ? string{data.orig_body.get()} : string{};
res.emplace_back(string{sha.data(), sha.size()}, ScriptData{data, move(body), move(orig_body)});
}
return res;

View file

@ -31,8 +31,8 @@ class ScriptMgr {
};
struct ScriptData : public ScriptParams {
std::string body;
std::string orig_body;
std::string body; // script source code present in lua interpreter
std::string orig_body; // original code, before removing header and adding async
};
struct ScriptKey : public std::array<char, 40> {