From ff5aad76be69a0b50821bc70c25882c84b5c7785 Mon Sep 17 00:00:00 2001 From: "Andrey \"Zed\" Zaikin" Date: Fri, 25 May 2018 18:09:58 +0300 Subject: add missing lb_put_writer_lock() to lb_vip_add() invalid args cases Change-Id: I9343672c5765a5a4cb56c99fa5de176ddcac62c7 Signed-off-by: Andrey "Zed" Zaikin --- src/plugins/lb/lb.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/plugins/lb/lb.c') diff --git a/src/plugins/lb/lb.c b/src/plugins/lb/lb.c index e1d4df55a3e..d5dc3054fb4 100644 --- a/src/plugins/lb/lb.c +++ b/src/plugins/lb/lb.c @@ -845,17 +845,22 @@ int lb_vip_add(lb_vip_add_args_t args, u32 *vip_index) (type != LB_VIP_TYPE_IP4_GRE4) && (type != LB_VIP_TYPE_IP4_GRE6) && (type != LB_VIP_TYPE_IP4_L3DSR) && - (type != LB_VIP_TYPE_IP4_NAT4)) + (type != LB_VIP_TYPE_IP4_NAT4)) { + lb_put_writer_lock(); return VNET_API_ERROR_INVALID_ADDRESS_FAMILY; + } if ((!ip46_prefix_is_ip4(&(args.prefix), args.plen)) && (type != LB_VIP_TYPE_IP6_GRE4) && (type != LB_VIP_TYPE_IP6_GRE6) && - (type != LB_VIP_TYPE_IP6_NAT6)) + (type != LB_VIP_TYPE_IP6_NAT6)) { + lb_put_writer_lock(); return VNET_API_ERROR_INVALID_ADDRESS_FAMILY; + } if ((type == LB_VIP_TYPE_IP4_L3DSR) && (args.encap_args.dscp >= 64 ) ) { + lb_put_writer_lock(); return VNET_API_ERROR_VALUE_EXIST; } -- cgit 1.2.3-korg