Skip to content

Commit eaa4770

Browse files
author
Felipe Zimmerle
committed
Fix issue related to Lua script load
1 parent c98e665 commit eaa4770

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

src/engine/lua.cc

+4-2
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ bool Lua::load(std::string script, std::string *err) {
7575
const char *luaerr = lua_tostring(L, -1);
7676
err->assign("Failed to compile script '" + script + "");
7777
if (luaerr) {
78-
err->append(": " + *luaerr);
78+
err->append(": " + std::string(luaerr));
7979
}
8080
err->append(".");
8181
lua_close(L);
@@ -91,7 +91,7 @@ bool Lua::load(std::string script, std::string *err) {
9191
const char *luaerr = lua_tostring(L, -1);
9292
err->assign("Failed to compile script '" + script + "");
9393
if (luaerr) {
94-
err->append(": " + *luaerr);
94+
err->append(": " + std::string(luaerr));
9595
}
9696
err->append(".");
9797
lua_close(L);
@@ -366,6 +366,8 @@ int Lua::setvar(lua_State *L) {
366366

367367
t->m_collections.storeOrUpdateFirst(collection,
368368
variableName, var_value);
369+
370+
return 0;
369371
}
370372

371373

src/parser/seclang-parser.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1881,18 +1881,18 @@ namespace yy {
18811881
case 75:
18821882
#line 1117 "seclang-parser.yy" // lalr1.cc:859
18831883
{
1884+
std::string err;
18841885
std::vector<actions::Action *> *a = new std::vector<actions::Action *>();
18851886
for (auto &i : *yystack_[0].value.as< std::unique_ptr<std::vector<std::unique_ptr<actions::Action> > > > ().get()) {
18861887
a->push_back(i.release());
18871888
}
1888-
18891889
RuleScript *r = new RuleScript(
18901890
/* path to script */ yystack_[1].value.as< std::string > (),
18911891
/* actions */ a,
18921892
/* file name */ driver.ref.back(),
18931893
/* line number */ yystack_[2].location.end.line
18941894
);
1895-
std::string err;
1895+
18961896
if (r->init(&err) == false) {
18971897
driver.error(yystack_[2].location, "Failed to load script: " + err);
18981898
delete r;

src/parser/seclang-parser.yy

+2-2
Original file line numberDiff line numberDiff line change
@@ -1115,18 +1115,18 @@ expression:
11151115
}
11161116
| DIRECTIVE_SECRULESCRIPT actions
11171117
{
1118+
std::string err;
11181119
std::vector<actions::Action *> *a = new std::vector<actions::Action *>();
11191120
for (auto &i : *$2.get()) {
11201121
a->push_back(i.release());
11211122
}
1122-
11231123
RuleScript *r = new RuleScript(
11241124
/* path to script */ $1,
11251125
/* actions */ a,
11261126
/* file name */ driver.ref.back(),
11271127
/* line number */ @0.end.line
11281128
);
1129-
std::string err;
1129+
11301130
if (r->init(&err) == false) {
11311131
driver.error(@0, "Failed to load script: " + err);
11321132
delete r;

0 commit comments

Comments
 (0)