diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-03-31 21:52:11 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-03-31 20:39:16 +0000 |
commit | 2ee62c55e716a6bec99f642318d86ba81b7daef1 (patch) | |
tree | 07277a5b151cdf9b435a91634b8dd9eb59e0306c | |
parent | a5b84394539f5ce20cbc4e085075c4aaa263b8c4 (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>
-rw-r--r-- | epan/wslua/wslua_proto.c | 4 |
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; } |