diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-02-05 12:42:43 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-02-05 12:42:43 +0000 |
commit | b35299b4e3a6cf75cfa19783dda35411508d2913 (patch) | |
tree | da78386cf112c62a0bf81fd04f4d243660e24f28 /src/lua/lua_classifier.c | |
parent | f29fb4de499b145b29a1cb22b0f7c0f81473ff6b (diff) | |
download | rspamd-b35299b4e3a6cf75cfa19783dda35411508d2913.tar.gz rspamd-b35299b4e3a6cf75cfa19783dda35411508d2913.zip |
Fix leaks in lua error paths
Diffstat (limited to 'src/lua/lua_classifier.c')
-rw-r--r-- | src/lua/lua_classifier.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lua/lua_classifier.c b/src/lua/lua_classifier.c index 64edea234..d8add5e4d 100644 --- a/src/lua/lua_classifier.c +++ b/src/lua/lua_classifier.c @@ -90,6 +90,7 @@ call_classifier_pre_callback (struct rspamd_classifier_config *ccf, if (lua_pcall (L, 4, 1, 0) != 0) { msg_warn_task ("error running pre classifier callback %s", lua_tostring (L, -1)); + lua_pop (L, 1); } else { if (lua_istable (L, -1)) { @@ -102,6 +103,7 @@ call_classifier_pre_callback (struct rspamd_classifier_config *ccf, lua_pop (L, 1); } } + lua_pop (L, 1); } return res; @@ -186,6 +188,7 @@ rspamd_lua_call_cls_post_callbacks (struct rspamd_classifier_config *ccf, if (lua_pcall (L, 3, 1, 0) != 0) { msg_warn_task ("error running function %s: %s", cd->name, lua_tostring (L, -1)); + lua_pop (L, 1); } else { if (lua_isnumber (L, 1)) { |