From: Vsevolod Stakhov Date: Thu, 2 Jul 2020 15:42:48 +0000 (+0100) Subject: [Minor] Return nil if base32 decode fails X-Git-Tag: 2.6~272 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=56129a44f9f72091ab2b500746f3d0a47ee88b5c;p=thirdparty%2Frspamd.git [Minor] Return nil if base32 decode fails --- diff --git a/src/lua/lua_util.c b/src/lua/lua_util.c index 70236fc2fb..d81c574b7d 100644 --- a/src/lua/lua_util.c +++ b/src/lua/lua_util.c @@ -1232,11 +1232,20 @@ lua_util_decode_base32 (lua_State *L) } if (s != NULL) { - t = lua_newuserdata (L, sizeof (*t)); - rspamd_lua_setclass (L, "rspamd{text}", -1); - t->start = rspamd_decode_base32 (s, inlen, &outlen, btype); - t->len = outlen; - t->flags = RSPAMD_TEXT_FLAG_OWN; + guchar *decoded; + + decoded = rspamd_decode_base32 (s, inlen, &outlen, btype); + + if (decoded) { + t = lua_newuserdata (L, sizeof (*t)); + rspamd_lua_setclass (L, "rspamd{text}", -1); + t->start = (const gchar *)decoded; + t->len = outlen; + t->flags = RSPAMD_TEXT_FLAG_OWN; + } + else { + lua_pushnil (L); + } } else { lua_pushnil (L);