From 2ee62c55e716a6bec99f642318d86ba81b7daef1 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Thu, 31 Mar 2016 21:52:11 +0200 Subject: 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 --- epan/wslua/wslua_proto.c | 4 ++-- 1 file 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; } -- cgit v1.2.3