aboutsummaryrefslogtreecommitdiffstats
path: root/epan/wslua
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-03-31 21:52:11 +0200
committerMichael Mann <mmann78@netscape.net>2016-03-31 20:39:16 +0000
commit2ee62c55e716a6bec99f642318d86ba81b7daef1 (patch)
tree07277a5b151cdf9b435a91634b8dd9eb59e0306c /epan/wslua
parenta5b84394539f5ce20cbc4e085075c4aaa263b8c4 (diff)
wslua: avoid memleak on duplicate names for Proto.new
luaL_error never returns, free memory before. Change-Id: Ibcdbdb6afea5d2dab7be6a16c4c2536dcf14220a Reviewed-on: https://code.wireshark.org/review/14734 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/wslua')
-rw-r--r--epan/wslua/wslua_proto.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/wslua/wslua_proto.c b/epan/wslua/wslua_proto.c
index a8b73f4349..d161ec003c 100644
--- a/epan/wslua/wslua_proto.c
+++ b/epan/wslua/wslua_proto.c
@@ -112,8 +112,8 @@ WSLUA_CONSTRUCTOR Proto_new(lua_State* L) {
loname = g_ascii_strdown(name, -1);
if (proto_check_field_name(loname)) {
- WSLUA_ARG_ERROR(Proto_new,NAME,"invalid character in name");
g_free(loname);
+ WSLUA_ARG_ERROR(Proto_new,NAME,"invalid character in name");
return 0;
}
@@ -121,9 +121,9 @@ WSLUA_CONSTRUCTOR Proto_new(lua_State* L) {
if ((proto_get_id_by_short_name(hiname) != -1) ||
(proto_get_id_by_filter_name(loname) != -1))
{
- WSLUA_ARG_ERROR(Proto_new,NAME,"there cannot be two protocols with the same name");
g_free(loname);
g_free(hiname);
+ WSLUA_ARG_ERROR(Proto_new,NAME,"there cannot be two protocols with the same name");
return 0;
}