diff options
author | Andrey "Zed" Zaikin <zed.0xff@gmail.com> | 2018-05-25 18:09:58 +0300 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2018-05-28 15:02:30 +0000 |
commit | ff5aad76be69a0b50821bc70c25882c84b5c7785 (patch) | |
tree | 331d83fb2efedf56b09751c8976bc1a37917e68e /src | |
parent | 0318a113fd7848c76533027edbdee2697442a76e (diff) |
add missing lb_put_writer_lock() to lb_vip_add() invalid args cases
Change-Id: I9343672c5765a5a4cb56c99fa5de176ddcac62c7
Signed-off-by: Andrey "Zed" Zaikin <zed.0xff@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/lb/lb.c | 9 |
1 files changed, 7 insertions, 2 deletions
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; } |