libnl3-3.12.0-2.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-457): [#def1]
libnl-3.12.0/include/base/nl-base-utils.h:781:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'data'
libnl-3.12.0/lib/route/qdisc/netem.c:940:5: enter_function: entry to 'rtnl_netem_set_delay_distribution'
libnl-3.12.0/lib/route/qdisc/netem.c:962:12: branch_false: following 'false' branch (when 'test_suffix' is NULL)...
libnl-3.12.0/lib/route/qdisc/netem.c:965:9: branch_false: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:965:21: branch_true: following 'true' branch (when 'i != 5')...
libnl-3.12.0/lib/route/qdisc/netem.c:966:17: branch_true: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:971:12: branch_false: following 'false' branch (when 'f' is non-NULL)...
libnl-3.12.0/lib/route/qdisc/netem.c:974:28: branch_false: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:976:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/qdisc/netem.c:981:16: call_function: inlined call to 'getline' from 'rtnl_netem_set_delay_distribution'
libnl-3.12.0/lib/route/qdisc/netem.c:948:32: call_function: inlined call to '_nl_auto_free_fcn' from 'rtnl_netem_set_delay_distribution'
#  779|   
#  780|   #define _nl_auto_free _nl_auto(_nl_auto_free_fcn)
#  781|-> _NL_AUTO_DEFINE_FCN_VOID0(void *, _nl_auto_free_fcn, free);
#  782|   
#  783|   /*****************************************************************************/

Error: GCC_ANALYZER_WARNING (CWE-457): [#def2]
libnl-3.12.0/include/base/nl-base-utils.h:781:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘id’
libnl-3.12.0/src/nl-class-add.c:120:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-class-add.c:123:14: branch_false: ...to here
libnl-3.12.0/src/nl-class-add.c:123:14: throw: if ‘rtnl_tc_get_ifindex’ throws an exception...
libnl-3.12.0/src/nl-class-add.c:63:29: call_function: inlined call to ‘_nl_auto_free_fcn’ from ‘main’
#  779|   
#  780|   #define _nl_auto_free _nl_auto(_nl_auto_free_fcn)
#  781|-> _NL_AUTO_DEFINE_FCN_VOID0(void *, _nl_auto_free_fcn, free);
#  782|   
#  783|   /*****************************************************************************/

Error: GCC_ANALYZER_WARNING (CWE-416): [#def3]
libnl-3.12.0/include/netlink/list.h:54:9: warning[-Wanalyzer-use-after-free]: use after 'free' of 'entry'
libnl-3.12.0/lib/route/link/bridge.c:203:14: enter_function: entry to 'bridge_clone'
libnl-3.12.0/lib/route/link/bridge.c:210:12: branch_false: following 'false' branch (when 'dst_bd' is non-NULL)...
libnl-3.12.0/lib/route/link/bridge.c:213:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/bridge.c:217:9: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/bridge.c:219:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/bridge.c:219:25: call_function: calling 'mst_state_entry_clone' from 'bridge_clone'
libnl-3.12.0/lib/route/link/bridge.c:219:25: return_function: returning to 'bridge_clone' from 'mst_state_entry_clone'
libnl-3.12.0/lib/route/link/bridge.c:221:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/bridge.c:222:25: call_function: inlined call to 'bridge_data_free' from 'bridge_clone'
#   52|   static inline void nl_list_del(struct nl_list_head *obj)
#   53|   {
#   54|-> 	obj->next->prev = obj->prev;
#   55|   	obj->prev->next = obj->next;
#   56|   }

Error: GCC_ANALYZER_WARNING (CWE-127): [#def4]
libnl-3.12.0/include/netlink/list.h:60:16: warning[-Wanalyzer-out-of-bounds]: heap-based buffer under-read
libnl-3.12.0/lib/route/cls/ematch.c:687:5: enter_function: entry to 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: call_function: calling 'rtnl_ematch_tree_alloc' from 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: return_function: returning to 'rtnl_ematch_parse_expr' from 'rtnl_ematch_tree_alloc'
libnl-3.12.0/lib/route/cls/ematch.c:697:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch.c:700:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:700:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch.c:702:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:722:9: call_function: inlined call to 'rtnl_ematch_tree_free' from 'rtnl_ematch_parse_expr'
#   58|   static inline int nl_list_empty(struct nl_list_head *head)
#   59|   {
#   60|-> 	return head->next == head;
#   61|   }
#   62|   

Error: GCC_ANALYZER_WARNING (CWE-416): [#def5]
libnl-3.12.0/include/netlink/list.h:60:16: warning[-Wanalyzer-use-after-free]: use after 'free' of 'pos'
libnl-3.12.0/lib/route/cls/ematch.c:687:5: enter_function: entry to 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: call_function: calling 'rtnl_ematch_tree_alloc' from 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: return_function: returning to 'rtnl_ematch_parse_expr' from 'rtnl_ematch_tree_alloc'
libnl-3.12.0/lib/route/cls/ematch.c:697:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch.c:700:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:700:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch.c:702:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:722:9: call_function: inlined call to 'rtnl_ematch_tree_free' from 'rtnl_ematch_parse_expr'
#   58|   static inline int nl_list_empty(struct nl_list_head *head)
#   59|   {
#   60|-> 	return head->next == head;
#   61|   }
#   62|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def6]
libnl-3.12.0/include/nl-aux-core/nl-core.h:22:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'addr'
libnl-3.12.0/lib/route/route_obj.c:1087:16: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1091:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1094:46: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1098:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1103:41: branch_true: ...to here
libnl-3.12.0/lib/route/route_obj.c:1105:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1108:29: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1111:40: throw: if 'nl_addr_alloc_attr' throws an exception...
libnl-3.12.0/lib/route/route_obj.c:1109:66: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'parse_multipath'
#   20|   void nl_addr_put(struct nl_addr *);
#   21|   #define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
#   22|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_addr *, _nl_auto_nl_addr_fcn, nl_addr_put);
#   23|   
#   24|   struct nl_data;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def7]
libnl-3.12.0/include/nl-aux-core/nl-core.h:22:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'addr1'
libnl-3.12.0/lib/xfrm/sa.c:781:5: enter_function: entry to 'xfrmnl_sa_parse'
libnl-3.12.0/lib/xfrm/sa.c:792:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:795:26: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:813:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:816:59: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:816:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:818:39: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:822:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:824:39: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:784:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'xfrmnl_sa_parse'
libnl-3.12.0/lib/xfrm/sa.c:783:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'xfrmnl_sa_parse'
#   20|   void nl_addr_put(struct nl_addr *);
#   21|   #define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
#   22|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_addr *, _nl_auto_nl_addr_fcn, nl_addr_put);
#   23|   
#   24|   struct nl_data;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def8]
libnl-3.12.0/include/nl-aux-core/nl-core.h:22:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'addr2'
libnl-3.12.0/lib/xfrm/sa.c:781:5: enter_function: entry to 'xfrmnl_sa_parse'
libnl-3.12.0/lib/xfrm/sa.c:791:14: call_function: calling 'xfrmnl_sa_alloc' from 'xfrmnl_sa_parse'
libnl-3.12.0/lib/xfrm/sa.c:784:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'xfrmnl_sa_parse'
#   20|   void nl_addr_put(struct nl_addr *);
#   21|   #define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
#   22|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_addr *, _nl_auto_nl_addr_fcn, nl_addr_put);
#   23|   
#   24|   struct nl_data;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def9]
libnl-3.12.0/include/nl-aux-core/nl-core.h:22:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'dst'
libnl-3.12.0/lib/route/nh_encap_ip6.c:129:15: throw: if 'nla_parse_nested' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip6.c:120:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'ip6_encap_parse_msg'
#   20|   void nl_addr_put(struct nl_addr *);
#   21|   #define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
#   22|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_addr *, _nl_auto_nl_addr_fcn, nl_addr_put);
#   23|   
#   24|   struct nl_data;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def10]
libnl-3.12.0/include/nl-aux-core/nl-core.h:22:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'src'
libnl-3.12.0/lib/route/route_obj.c:1176:5: enter_function: entry to 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1187:17: call_function: calling 'rtnl_route_alloc' from 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1180:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'rtnl_route_parse'
#   20|   void nl_addr_put(struct nl_addr *);
#   21|   #define _nl_auto_nl_addr _nl_auto(_nl_auto_nl_addr_fcn)
#   22|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_addr *, _nl_auto_nl_addr_fcn, nl_addr_put);
#   23|   
#   24|   struct nl_data;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def11]
libnl-3.12.0/include/nl-aux-core/nl-core.h:27:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'selector'
libnl-3.12.0/lib/route/cls/u32.c:193:12: enter_function: entry to 'u32_clone'
libnl-3.12.0/lib/route/cls/u32.c:216:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/u32.c:217:30: branch_true: ...to here
libnl-3.12.0/lib/route/cls/u32.c:217:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/u32.c:221:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/u32.c:196:42: call_function: inlined call to '_nl_auto_nl_data_fcn' from 'u32_clone'
#   25|   void nl_data_free(struct nl_data *data);
#   26|   #define _nl_auto_nl_data _nl_auto(_nl_auto_nl_data_fcn)
#   27|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_data *, _nl_auto_nl_data_fcn,
#   28|   			   nl_data_free);
#   29|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def12]
libnl-3.12.0/include/nl-aux-core/nl-core.h:27:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'subdata'
libnl-3.12.0/lib/route/cls/u32.c:211:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/u32.c:212:34: branch_true: ...to here
libnl-3.12.0/lib/route/cls/u32.c:212:34: throw: if 'nl_data_clone' throws an exception...
libnl-3.12.0/lib/route/cls/u32.c:202:42: call_function: inlined call to '_nl_auto_nl_data_fcn' from 'u32_clone'
#   25|   void nl_data_free(struct nl_data *data);
#   26|   #define _nl_auto_nl_data _nl_auto(_nl_auto_nl_data_fcn)
#   27|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_data *, _nl_auto_nl_data_fcn,
#   28|   			   nl_data_free);
#   29|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def13]
libnl-3.12.0/include/nl-aux-core/nl-core.h:56:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'clone'
libnl-3.12.0/lib/cache.c:847:5: enter_function: entry to 'nl_cache_include'
libnl-3.12.0/lib/cache.c:853:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache.c:853:12: branch_false: ...to here
libnl-3.12.0/lib/cache.c:856:21: branch_true: following 'true' branch...
libnl-3.12.0/lib/cache.c:857:50: branch_true: ...to here
libnl-3.12.0/lib/cache.c:858:32: call_function: calling 'cache_include' from 'nl_cache_include'
#   54|   void nl_object_put(struct nl_object *);
#   55|   #define _nl_auto_nl_object _nl_auto(_nl_auto_nl_object_fcn)
#   56|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_object *, _nl_auto_nl_object_fcn,
#   57|   			   nl_object_put);
#   58|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def14]
libnl-3.12.0/include/nl-aux-core/nl-core.h:56:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'old'
libnl-3.12.0/lib/cache.c:847:5: enter_function: entry to 'nl_cache_include'
libnl-3.12.0/lib/cache.c:853:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache.c:853:12: branch_false: ...to here
libnl-3.12.0/lib/cache.c:856:21: branch_true: following 'true' branch...
libnl-3.12.0/lib/cache.c:857:50: branch_true: ...to here
libnl-3.12.0/lib/cache.c:858:32: call_function: calling 'cache_include' from 'nl_cache_include'
#   54|   void nl_object_put(struct nl_object *);
#   55|   #define _nl_auto_nl_object _nl_auto(_nl_auto_nl_object_fcn)
#   56|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct nl_object *, _nl_auto_nl_object_fcn,
#   57|   			   nl_object_put);
#   58|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def15]
libnl-3.12.0/include/nl-aux-route/nl-route.h:38:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'nh'
libnl-3.12.0/lib/route/route_obj.c:1087:16: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1090:22: throw: if 'rtnl_route_nh_alloc' throws an exception...
libnl-3.12.0/lib/route/route_obj.c:1088:60: call_function: inlined call to '_nl_auto_rtnl_nexthop_fcn' from 'parse_multipath'
#   36|   void rtnl_route_nh_free(struct rtnl_nexthop *);
#   37|   #define _nl_auto_rtnl_nexthop _nl_auto(_nl_auto_rtnl_nexthop_fcn)
#   38|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_nexthop *, _nl_auto_rtnl_nexthop_fcn,
#   39|   			   rtnl_route_nh_free);
#   40|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def16]
libnl-3.12.0/include/nl-aux-route/nl-route.h:38:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'old_nh'
libnl-3.12.0/lib/route/route_obj.c:1176:5: enter_function: entry to 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1188:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1191:29: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1194:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1197:15: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1219:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1241:36: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1242:15: call_function: calling 'rtnl_route_set_dst' from 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1242:15: return_function: returning to 'rtnl_route_parse' from 'rtnl_route_set_dst'
libnl-3.12.0/lib/route/route_obj.c:1243:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1246:13: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1247:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1254:44: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1264:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1267:13: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1270:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1181:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1180:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'rtnl_route_parse'
libnl-3.12.0/lib/route/route_obj.c:1179:52: call_function: inlined call to '_nl_auto_rtnl_nexthop_fcn' from 'rtnl_route_parse'
#   36|   void rtnl_route_nh_free(struct rtnl_nexthop *);
#   37|   #define _nl_auto_rtnl_nexthop _nl_auto(_nl_auto_rtnl_nexthop_fcn)
#   38|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_nexthop *, _nl_auto_rtnl_nexthop_fcn,
#   39|   			   rtnl_route_nh_free);
#   40|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def17]
libnl-3.12.0/include/nl-aux-route/nl-route.h:47:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'nh_encap'
libnl-3.12.0/lib/route/nh_encap_ip6.c:116:12: enter_function: entry to 'ip6_encap_parse_msg'
libnl-3.12.0/lib/route/nh_encap_ip6.c:130:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:133:14: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:133:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:136:15: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:137:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:140:13: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:120:42: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'ip6_encap_parse_msg'
libnl-3.12.0/lib/route/nh_encap_ip6.c:119:54: call_function: inlined call to '_nl_auto_rtnl_nh_encap_fcn' from 'ip6_encap_parse_msg'
#   45|   
#   46|   #define _nl_auto_rtnl_nh_encap _nl_auto(_nl_auto_rtnl_nh_encap_fcn)
#   47|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_nh_encap *, _nl_auto_rtnl_nh_encap_fcn,
#   48|   			   rtnl_nh_encap_free);
#   49|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def18]
libnl-3.12.0/include/nl-aux-route/nl-route.h:47:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'rtnh_encap'
libnl-3.12.0/lib/route/nh_encap_mpls.c:155:5: enter_function: entry to 'rtnl_route_nh_encap_mpls'
libnl-3.12.0/lib/route/nh_encap_mpls.c:162:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_mpls.c:165:15: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_mpls.c:165:15: call_function: calling 'rtnl_nh_encap_mpls' from 'rtnl_route_nh_encap_mpls'
libnl-3.12.0/lib/route/nh_encap_mpls.c:158:54: call_function: inlined call to '_nl_auto_rtnl_nh_encap_fcn' from 'rtnl_route_nh_encap_mpls'
#   45|   
#   46|   #define _nl_auto_rtnl_nh_encap _nl_auto(_nl_auto_rtnl_nh_encap_fcn)
#   47|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_nh_encap *, _nl_auto_rtnl_nh_encap_fcn,
#   48|   			   rtnl_nh_encap_free);
#   49|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def19]
libnl-3.12.0/include/nl-aux-route/nl-route.h:53:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'ops'
libnl-3.12.0/lib/route/link.c:231:21: branch_true: following 'true' branch (when 'i != 46')...
libnl-3.12.0/lib/route/link.c:232:21: branch_true: ...to here
libnl-3.12.0/lib/route/link.c:235:37: throw: if 'rtnl_link_af_ops_lookup' throws an exception...
libnl-3.12.0/lib/route/link.c:233:76: call_function: inlined call to '_nl_auto_rtnl_link_af_ops_fcn' from 'do_foreach_af'
#   51|   void rtnl_link_af_ops_put(struct rtnl_link_af_ops *);
#   52|   #define _nl_auto_rtnl_link_af_ops _nl_auto(_nl_auto_rtnl_link_af_ops_fcn)
#   53|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_link_af_ops *,
#   54|   			   _nl_auto_rtnl_link_af_ops_fcn, rtnl_link_af_ops_put);
#   55|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def20]
libnl-3.12.0/include/nl-aux-route/nl-route.h:57:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'act'
libnl-3.12.0/lib/route/cls/u32.c:211:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/u32.c:216:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/u32.c:216:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/u32.c:221:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/u32.c:221:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/u32.c:241:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/u32.c:241:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/u32.c:242:32: branch_true: ...to here
libnl-3.12.0/lib/route/cls/u32.c:242:32: throw: if 'nl_data_clone' throws an exception...
libnl-3.12.0/lib/route/cls/u32.c:203:44: call_function: inlined call to '_nl_auto_rtnl_act_fcn' from 'u32_clone'
#   55|   
#   56|   #define _nl_auto_rtnl_act _nl_auto(_nl_auto_rtnl_act_fcn)
#   57|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct rtnl_act *, _nl_auto_rtnl_act_fcn,
#   58|   			   rtnl_act_put);
#   59|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def21]
libnl-3.12.0/include/nl-aux-xfrm/nl-xfrm.h:29:1: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'sputmpl'
libnl-3.12.0/lib/xfrm/sp.c:574:5: enter_function: entry to 'xfrmnl_sp_parse'
libnl-3.12.0/lib/xfrm/sp.c:584:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:587:26: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:594:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:597:59: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:597:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:599:39: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:603:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:605:39: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:662:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/xfrm/sp.c:663:52: branch_true: ...to here
libnl-3.12.0/lib/xfrm/sp.c:667:29: branch_true: following 'true' branch...
libnl-3.12.0/lib/xfrm/sp.c:673:40: branch_true: ...to here
libnl-3.12.0/lib/xfrm/sp.c:673:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:676:68: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:676:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sp.c:678:25: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sp.c:670:58: call_function: inlined call to '_nl_auto_nl_addr_fcn' from 'xfrmnl_sp_parse'
libnl-3.12.0/lib/xfrm/sp.c:669:76: call_function: inlined call to '_nl_auto_xfrmnl_user_tmpl_fcn' from 'xfrmnl_sp_parse'
#   27|   void xfrmnl_user_tmpl_free(struct xfrmnl_user_tmpl *utmpl);
#   28|   #define _nl_auto_xfrmnl_user_tmpl _nl_auto(_nl_auto_xfrmnl_user_tmpl_fcn)
#   29|-> _NL_AUTO_DEFINE_FCN_TYPED0(struct xfrmnl_user_tmpl *,
#   30|   			   _nl_auto_xfrmnl_user_tmpl_fcn,
#   31|   			   xfrmnl_user_tmpl_free);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
libnl-3.12.0/lib/cache_mngr.c:188:17: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(1, 40)'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:179:16: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:186:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:188:17: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:192:11: branch_true: following 'true' branch (when 'sync_sk' is NULL)...
libnl-3.12.0/lib/cache_mngr.c:193:33: branch_true: ...to here
libnl-3.12.0/lib/cache_mngr.c:193:33: throw: if 'nl_socket_alloc' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  186|   		if (!(sk = nl_socket_alloc()))
#  187|   			return -NLE_NOMEM;
#  188|-> 		mngr->cm_flags |= NL_ALLOCATED_SOCK;
#  189|   	}
#  190|   	mngr->cm_sock = sk;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
libnl-3.12.0/lib/cache_mngr.c:195:17: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(1, 40)'
libnl-3.12.0/lib/cache_mngr.c:151:5: enter_function: entry to 'nl_cache_mngr_alloc'
libnl-3.12.0/lib/cache_mngr.c:154:16: call_function: calling 'nl_cache_mngr_alloc_ex' from 'nl_cache_mngr_alloc'
#  193|   		if (!(sync_sk = nl_socket_alloc()))
#  194|   			return -NLE_NOMEM;
#  195|-> 		mngr->cm_flags |= NL_ALLOCATED_SYNC_SOCK;
#  196|   	}
#  197|   	mngr->cm_sync_sock = sync_sk;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
libnl-3.12.0/lib/cache_mngr.c:207:9: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(1, 40)'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:179:16: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:207:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:207:9: throw: if 'nl_socket_disable_seq_check' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  205|   
#  206|   	/* Required to receive async event notifications */
#  207|-> 	nl_socket_disable_seq_check(mngr->cm_sock);
#  208|   
#  209|   	if ((err = nl_connect(mngr->cm_sock, protocol)) < 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
libnl-3.12.0/lib/cache_mngr.c:637:13: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(1, 40)'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:179:16: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:192:11: branch_true: following 'true' branch (when 'sync_sk' is NULL)...
libnl-3.12.0/lib/cache_mngr.c:193:33: branch_true: ...to here
libnl-3.12.0/lib/cache_mngr.c:193:33: throw: if 'nl_socket_alloc' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  635|   		return;
#  636|   
#  637|-> 	if (mngr->cm_sock)
#  638|   		nl_close(mngr->cm_sock);
#  639|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def26]
libnl-3.12.0/lib/cache_mngr.c:638:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:201:27: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:207:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:207:9: throw: if 'nl_socket_disable_seq_check' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  636|   
#  637|   	if (mngr->cm_sock)
#  638|-> 		nl_close(mngr->cm_sock);
#  639|   
#  640|   	if (mngr->cm_sync_sock)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
libnl-3.12.0/lib/cache_mngr.c:641:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:201:27: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:207:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:207:9: throw: if 'nl_socket_disable_seq_check' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  639|   
#  640|   	if (mngr->cm_sync_sock)
#  641|-> 		nl_close(mngr->cm_sync_sock);
#  642|   
#  643|   	if (mngr->cm_flags & NL_ALLOCATED_SOCK)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
libnl-3.12.0/lib/cache_mngr.c:644:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:193:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:195:17: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:201:27: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:207:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:207:9: throw: if 'nl_socket_disable_seq_check' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  642|   
#  643|   	if (mngr->cm_flags & NL_ALLOCATED_SOCK)
#  644|-> 		nl_socket_free(mngr->cm_sock);
#  645|   
#  646|   	if (mngr->cm_flags & NL_ALLOCATED_SYNC_SOCK)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
libnl-3.12.0/lib/cache_mngr.c:647:17: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:193:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:195:17: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:201:27: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:207:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:207:9: throw: if 'nl_socket_disable_seq_check' throws an exception...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  645|   
#  646|   	if (mngr->cm_flags & NL_ALLOCATED_SYNC_SOCK)
#  647|-> 		nl_socket_free(mngr->cm_sync_sock);
#  648|   
#  649|   	for (i = 0; i < mngr->cm_nassocs; i++) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def30]
libnl-3.12.0/lib/cache_mngr.c:650:21: warning[-Wanalyzer-null-dereference]: dereference of NULL '*mngr.cm_assocs + (long unsigned int)i * 32'
libnl-3.12.0/lib/cache_mngr.c:168:5: enter_function: entry to 'nl_cache_mngr_alloc_ex'
libnl-3.12.0/lib/cache_mngr.c:175:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:177:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:180:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/cache_mngr.c:183:9: branch_false: ...to here
libnl-3.12.0/lib/cache_mngr.c:201:27: acquire_memory: allocated here
libnl-3.12.0/lib/cache_mngr.c:203:12: release_memory: assuming '<unknown>' is NULL
libnl-3.12.0/lib/cache_mngr.c:203:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/cache_mngr.c:171:54: call_function: inlined call to '_nl_auto_nl_cache_mngr_fcn' from 'nl_cache_mngr_alloc_ex'
#  648|   
#  649|   	for (i = 0; i < mngr->cm_nassocs; i++) {
#  650|-> 		if (mngr->cm_assocs[i].ca_cache) {
#  651|   			nl_cache_mngt_unprovide(mngr->cm_assocs[i].ca_cache);
#  652|   			nl_cache_free(mngr->cm_assocs[i].ca_cache);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
libnl-3.12.0/lib/cache_mngr.c:652:25: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:151:5: enter_function: entry to 'nl_cache_mngr_alloc'
libnl-3.12.0/lib/cache_mngr.c:154:16: call_function: calling 'nl_cache_mngr_alloc_ex' from 'nl_cache_mngr_alloc'
#  650|   		if (mngr->cm_assocs[i].ca_cache) {
#  651|   			nl_cache_mngt_unprovide(mngr->cm_assocs[i].ca_cache);
#  652|-> 			nl_cache_free(mngr->cm_assocs[i].ca_cache);
#  653|   		}
#  654|   	}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def32]
libnl-3.12.0/lib/cache_mngr.c:652:39: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
libnl-3.12.0/lib/cache_mngr.c:151:5: enter_function: entry to 'nl_cache_mngr_alloc'
libnl-3.12.0/lib/cache_mngr.c:154:16: call_function: calling 'nl_cache_mngr_alloc_ex' from 'nl_cache_mngr_alloc'
#  650|   		if (mngr->cm_assocs[i].ca_cache) {
#  651|   			nl_cache_mngt_unprovide(mngr->cm_assocs[i].ca_cache);
#  652|-> 			nl_cache_free(mngr->cm_assocs[i].ca_cache);
#  653|   		}
#  654|   	}

Error: CPPCHECK_WARNING (CWE-401): [#def33]
libnl-3.12.0/lib/genl/family.c:371: error[memleak]: Memory leak: op
#  369|   	family->ce_mask |= FAMILY_ATTR_OPS;
#  370|   
#  371|-> 	return 0;
#  372|   }
#  373|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def34]
libnl-3.12.0/lib/genl/family.c:372:1: warning[-Wanalyzer-malloc-leak]: leak of 'op'
libnl-3.12.0/lib/genl/family.c:73:12: enter_function: entry to 'family_clone'
libnl-3.12.0/lib/genl/family.c:84:9: branch_true: following 'true' branch...
libnl-3.12.0/lib/genl/family.c:85:58: branch_true: ...to here
libnl-3.12.0/lib/genl/family.c:85:23: call_function: calling 'genl_family_add_op' from 'family_clone'
#  370|   
#  371|   	return 0;
#  372|-> }
#  373|   
#  374|   int genl_family_add_grp(struct genl_family *family, uint32_t id,

Error: CPPCHECK_WARNING (CWE-401): [#def35]
libnl-3.12.0/lib/genl/family.c:392: error[memleak]: Memory leak: grp
#  390|   	nl_list_add_tail(&grp->list, &family->gf_mc_grps);
#  391|   
#  392|-> 	return 0;
#  393|   }
#  394|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def36]
libnl-3.12.0/lib/hashtable.c:50:1: warning[-Wanalyzer-malloc-leak]: leak of 'ht'
libnl-3.12.0/lib/hashtable.c:41:18: enter_function: entry to 'nl_hash_table_alloc'
libnl-3.12.0/lib/hashtable.c:45:14: acquire_memory: allocated here
libnl-3.12.0/lib/hashtable.c:46:12: branch_false: following 'false' branch (when 'ht' is non-NULL)...
libnl-3.12.0/lib/hashtable.c:49:16: call_function: inlined call to '_nl_hash_table_init' from 'nl_hash_table_alloc'
libnl-3.12.0/lib/hashtable.c:50:1: danger: 'ht' leaks here; was allocated at [(2)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/1)
#   48|   
#   49|   	return _nl_hash_table_init(ht, size);
#   50|-> }
#   51|   
#   52|   /* Generic helper to handle regular and resizeable hash tables */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def37]
libnl-3.12.0/lib/hashtable.c:148:9: warning[-Wanalyzer-malloc-leak]: leak of 'node'
libnl-3.12.0/lib/hashtable.c:145:16: acquire_memory: allocated here
libnl-3.12.0/lib/hashtable.c:146:12: branch_false: following 'false' branch (when 'node' is non-NULL)...
libnl-3.12.0/lib/hashtable.c:148:9: branch_false: ...to here
libnl-3.12.0/lib/hashtable.c:148:9: throw: if 'nl_object_get' throws an exception...
libnl-3.12.0/lib/hashtable.c:148:9: danger: 'node' leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  146|   	if (!node)
#  147|   		return -NLE_NOMEM;
#  148|-> 	nl_object_get(obj);
#  149|   	node->obj = obj;
#  150|   	node->key = key_hash;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def38]
libnl-3.12.0/lib/hashtable.c:156:1: warning[-Wanalyzer-malloc-leak]: leak of 'node'
libnl-3.12.0/lib/hashtable.c:145:16: acquire_memory: allocated here
libnl-3.12.0/lib/hashtable.c:146:12: branch_false: following 'false' branch (when 'node' is non-NULL)...
libnl-3.12.0/lib/hashtable.c:148:9: branch_false: ...to here
libnl-3.12.0/lib/hashtable.c:156:1: danger: 'node' leaks here; was allocated at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  154|   
#  155|   	return 0;
#  156|-> }
#  157|   
#  158|   /**

Error: GCC_ANALYZER_WARNING (CWE-401): [#def39]
libnl-3.12.0/lib/hashtable.c:254:25: warning[-Wanalyzer-malloc-leak]: leak of 'new_nodes'
libnl-3.12.0/lib/hashtable.c:243:21: acquire_memory: allocated here
libnl-3.12.0/lib/hashtable.c:244:12: branch_false: following 'false' branch (when 'new_nodes' is non-NULL)...
libnl-3.12.0/lib/hashtable.c:244:12: branch_false: ...to here
libnl-3.12.0/lib/hashtable.c:248:21: branch_true: following 'true' branch...
libnl-3.12.0/lib/hashtable.c:249:40: branch_true: ...to here
libnl-3.12.0/lib/hashtable.c:254:25: throw: if 'nl_object_keygen' throws an exception...
libnl-3.12.0/lib/hashtable.c:254:25: danger: 'new_nodes' leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  252|   			uint32_t new_hash;
#  253|   
#  254|-> 			nl_object_keygen(node->obj, &new_hash, new_size);
#  255|   			node->key = new_hash;
#  256|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def40]
libnl-3.12.0/lib/msg.c:552:16: warning[-Wanalyzer-null-dereference]: dereference of NULL 'msg'
libnl-3.12.0/lib/msg.c:985:6: enter_function: entry to 'nl_msg_dump'
libnl-3.12.0/lib/msg.c:995:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/msg.c:996:17: branch_true: ...to here
libnl-3.12.0/lib/msg.c:996:17: call_function: calling 'dump_error_msg' from 'nl_msg_dump'
#  550|   struct nlmsghdr *nlmsg_hdr(struct nl_msg *n)
#  551|   {
#  552|-> 	return n->nm_nlh;
#  553|   }
#  554|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def41]
libnl-3.12.0/lib/msg.c:552:16: warning[-Wanalyzer-null-dereference]: dereference of NULL 'n'
libnl-3.12.0/lib/msg.c:985:6: enter_function: entry to 'nl_msg_dump'
libnl-3.12.0/lib/msg.c:993:9: call_function: calling 'print_hdr' from 'nl_msg_dump'
libnl-3.12.0/lib/msg.c:993:9: return_function: returning to 'nl_msg_dump' from 'print_hdr'
libnl-3.12.0/lib/msg.c:995:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/msg.c:996:17: branch_true: ...to here
libnl-3.12.0/lib/msg.c:996:17: call_function: calling 'dump_error_msg' from 'nl_msg_dump'
#  550|   struct nlmsghdr *nlmsg_hdr(struct nl_msg *n)
#  551|   {
#  552|-> 	return n->nm_nlh;
#  553|   }
#  554|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def42]
libnl-3.12.0/lib/nl.c:701:13: warning[-Wanalyzer-malloc-leak]: leak of 'iov.iov_base'
libnl-3.12.0/lib/nl.c:1115:5: enter_function: entry to 'nl_wait_for_ack'
libnl-3.12.0/lib/nl.c:1121:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/nl.c:1124:9: branch_false: ...to here
libnl-3.12.0/lib/nl.c:1125:15: call_function: calling 'nl_recvmsgs' from 'nl_wait_for_ack'
#  699|   retry:
#  700|   
#  701|-> 	n = recvmsg(sk->s_fd, &msg, flags);
#  702|   	if (!n) {
#  703|   		retval = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def43]
libnl-3.12.0/lib/nl.c:701:13: warning[-Wanalyzer-malloc-leak]: leak of 'msg.msg_control'
libnl-3.12.0/lib/nl.c:1115:5: enter_function: entry to 'nl_wait_for_ack'
libnl-3.12.0/lib/nl.c:1121:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/nl.c:1124:9: branch_false: ...to here
libnl-3.12.0/lib/nl.c:1125:15: call_function: calling 'nl_recvmsgs' from 'nl_wait_for_ack'
#  699|   retry:
#  700|   
#  701|-> 	n = recvmsg(sk->s_fd, &msg, flags);
#  702|   	if (!n) {
#  703|   		retval = 0;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def44]
libnl-3.12.0/lib/object.c:59:13: warning[-Wanalyzer-malloc-leak]: leak of 'nl_object_alloc(*obj.ce_ops)'
libnl-3.12.0/lib/object.c:111:19: enter_function: entry to 'nl_object_clone'
libnl-3.12.0/lib/object.c:118:12: branch_false: following 'false' branch (when 'obj' is non-NULL)...
libnl-3.12.0/lib/object.c:121:15: call_function: inlined call to 'obj_ops' from 'nl_object_clone'
libnl-3.12.0/lib/object.c:122:15: branch_false: ...to here
libnl-3.12.0/lib/object.c:122:15: call_function: calling 'nl_object_alloc' from 'nl_object_clone'
libnl-3.12.0/lib/object.c:122:15: return_function: returning to 'nl_object_clone' from 'nl_object_alloc'
libnl-3.12.0/lib/object.c:123:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/object.c:126:16: branch_false: ...to here
libnl-3.12.0/lib/object.c:59:13: danger: 'nl_object_alloc(*obj.ce_ops)' leaks here; was allocated at [(11)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/10)
#   57|   	struct nl_object *new;
#   58|   
#   59|-> 	if (ops->oo_size < sizeof(*new))
#   60|   		BUG();
#   61|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def45]
libnl-3.12.0/lib/object.c:71:17: warning[-Wanalyzer-malloc-leak]: leak of 'new'
libnl-3.12.0/lib/object.c:59:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/object.c:62:15: branch_false: ...to here
libnl-3.12.0/lib/object.c:62:15: acquire_memory: allocated here
libnl-3.12.0/lib/object.c:63:12: branch_false: following 'false' branch (when 'new' is non-NULL)...
libnl-3.12.0/lib/object.c:66:9: branch_false: ...to here
libnl-3.12.0/lib/object.c:70:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/object.c:71:17: branch_true: ...to here
libnl-3.12.0/lib/object.c:71:17: throw: if the called function throws an exception...
libnl-3.12.0/lib/object.c:71:17: danger: 'new' leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   69|   	new->ce_ops = ops;
#   70|   	if (ops->oo_constructor)
#   71|-> 		ops->oo_constructor(new);
#   72|   
#   73|   	NL_DBG(4, "Allocated new object %p\n", new);

Error: CPPCHECK_WARNING (CWE-682): [#def46]
libnl-3.12.0/lib/route/classid.c:57: error[nullPointerArithmeticOutOfMemory]: If memory allocation fails: pointer addition with NULL pointer.
#   55|   	int c;
#   56|   
#   57|-> 	while ((c = *str++))
#   58|   		hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
#   59|   

Error: CPPCHECK_WARNING (CWE-476): [#def47]
libnl-3.12.0/lib/route/classid.c:57: warning[nullPointerOutOfMemory]: If memory allocation fails, then there is a possible null pointer dereference: str++
#   55|   	int c;
#   56|   
#   57|-> 	while ((c = *str++))
#   58|   		hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
#   59|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def48]
libnl-3.12.0/lib/route/classid.c:57:21: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'str'
libnl-3.12.0/lib/route/classid.c:286:12: branch_false: following 'false' branch (when 'map' is non-NULL)...
libnl-3.12.0/lib/route/classid.c:289:9: branch_false: ...to here
libnl-3.12.0/lib/route/classid.c:290:21: acquire_memory: this call could return NULL
libnl-3.12.0/lib/route/classid.c:292:13: call_function: inlined call to 'classid_tbl_hash' from 'classid_map_add'
#   55|   	int c;
#   56|   
#   57|-> 	while ((c = *str++))
#   58|   		hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
#   59|   

Error: COMPILER_WARNING (CWE-704): [#def49]
libnl-3.12.0/lib/route/classid.c: scope_hint: In function 'rtnl_tc_str2handle'
libnl-3.12.0/lib/route/classid.c:187:37: warning[-Wdiscarded-qualifiers]: assignment discards 'const' qualifier from pointer target type
#  187 |                         if (!(colon = strpbrk(str, ":"))) {
#      |                                     ^
#  185|   			char name[64] = { 0 };
#  186|   
#  187|-> 			if (!(colon = strpbrk(str, ":"))) {
#  188|   				/* NAME */
#  189|   				return classid_lookup(str, res);

Error: COMPILER_WARNING (CWE-704): [#def50]
libnl-3.12.0/lib/route/classid.c:187:37: warning[-Wdiscarded-qualifiers]: assignment discards 'const' qualifier from pointer target type
#  185|   			char name[64] = { 0 };
#  186|   
#  187|-> 			if (!(colon = strpbrk(str, ":"))) {
#  188|   				/* NAME */
#  189|   				return classid_lookup(str, res);

Error: GCC_ANALYZER_WARNING (CWE-126): [#def51]
libnl-3.12.0/lib/route/cls/ematch.c:163:9: warning[-Wanalyzer-out-of-bounds]: heap-based buffer over-read
libnl-3.12.0/lib/route/cls/ematch.c:687:5: enter_function: entry to 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: call_function: calling 'rtnl_ematch_tree_alloc' from 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: return_function: returning to 'rtnl_ematch_parse_expr' from 'rtnl_ematch_tree_alloc'
libnl-3.12.0/lib/route/cls/ematch.c:697:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch.c:700:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:700:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch.c:702:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:722:9: call_function: inlined call to 'rtnl_ematch_tree_free' from 'rtnl_ematch_parse_expr'
#  161|   	NL_DBG(2, "freed ematch %p\n", ematch);
#  162|   	rtnl_ematch_unlink(ematch);
#  163|-> 	free(ematch->e_data);
#  164|   	free(ematch);
#  165|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def52]
libnl-3.12.0/lib/route/cls/ematch.c:253:9: warning[-Wanalyzer-malloc-leak]: leak of 'rtnl_ematch_tree_alloc(2)'
libnl-3.12.0/lib/route/cls/ematch.c:687:5: enter_function: entry to 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: call_function: calling 'rtnl_ematch_tree_alloc' from 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: return_function: returning to 'rtnl_ematch_parse_expr' from 'rtnl_ematch_tree_alloc'
libnl-3.12.0/lib/route/cls/ematch.c:697:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch.c:700:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:700:13: throw: if 'ematch_lex_init' throws an exception...
libnl-3.12.0/lib/route/cls/ematch.c:253:9: danger: 'rtnl_ematch_tree_alloc(2)' leaks here; was allocated at [(4)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/3)
#  251|   		return NULL;
#  252|   	
#  253|-> 	NL_INIT_LIST_HEAD(&tree->et_list);
#  254|   	tree->et_progid = progid;
#  255|   

Error: GCC_ANALYZER_WARNING (CWE-127): [#def53]
libnl-3.12.0/lib/route/cls/ematch.c:265:9: warning[-Wanalyzer-out-of-bounds]: heap-based buffer under-read
libnl-3.12.0/lib/route/cls/ematch.c:687:5: enter_function: entry to 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: call_function: calling 'rtnl_ematch_tree_alloc' from 'rtnl_ematch_parse_expr'
libnl-3.12.0/lib/route/cls/ematch.c:697:22: return_function: returning to 'rtnl_ematch_parse_expr' from 'rtnl_ematch_tree_alloc'
libnl-3.12.0/lib/route/cls/ematch.c:697:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch.c:700:13: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:700:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch.c:702:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch.c:722:9: call_function: inlined call to 'rtnl_ematch_tree_free' from 'rtnl_ematch_parse_expr'
#  263|   	struct rtnl_ematch *pos, *next;
#  264|   
#  265|-> 	nl_list_for_each_entry_safe(pos, next, head, e_list) {
#  266|   		if (!nl_list_empty(&pos->e_childs))
#  267|   			free_ematch_list(&pos->e_childs);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def54]
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2204:54: warning[-Wanalyzer-malloc-leak]: leak of 'ematch_alloc(64, yyscanner)'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2191:21: enter_function: entry to 'ematch__create_buffer'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2195:24: call_function: calling 'ematch_alloc' from 'ematch__create_buffer'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2195:24: return_function: returning to 'ematch__create_buffer' from 'ematch_alloc'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2196:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2199:2: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2204:54: danger: 'ematch_alloc(64, yyscanner)' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
# 2202|   	/* yy_ch_buf has to be 2 characters longer than the size given because
# 2203|   	 * we need to put in 2 end-of-buffer characters.
# 2204|-> 	 */
# 2205|   	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
# 2206|   	if ( ! b->yy_ch_buf )

Error: GCC_ANALYZER_WARNING (CWE-401): [#def55]
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2204:54: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(64)'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2191:21: enter_function: entry to 'ematch__create_buffer'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2195:24: call_function: inlined call to 'ematch_alloc' from 'ematch__create_buffer'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2196:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2199:2: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2204:54: danger: 'malloc(64)' leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
# 2202|   	/* yy_ch_buf has to be 2 characters longer than the size given because
# 2203|   	 * we need to put in 2 end-of-buffer characters.
# 2204|-> 	 */
# 2205|   	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
# 2206|   	if ( ! b->yy_ch_buf )

Error: GCC_ANALYZER_WARNING (CWE-476): [#def56]
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2247:2: warning[-Wanalyzer-null-dereference]: dereference of NULL 'b'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2126:10: enter_function: entry to 'ematch_restart'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2131:16: call_function: calling 'ematch_ensure_buffer_stack' from 'ematch_restart'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2131:16: return_function: returning to 'ematch_restart' from 'ematch_ensure_buffer_stack'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2133:27: call_function: calling 'ematch__create_buffer' from 'ematch_restart'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2133:27: return_function: returning to 'ematch_restart' from 'ematch__create_buffer'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2136:2: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2136:2: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2136:2: call_function: calling 'ematch__init_buffer' from 'ematch_restart'
# 2245|   
# 2246|   	yy_flush_buffer( b , yyscanner);
# 2247|-> 
# 2248|   	b->yy_input_file = file;
# 2249|   	b->yy_fill_buffer = 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def57]
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2465:26: warning[-Wanalyzer-malloc-leak]: leak of 'ematch_alloc(n,  yyscanner)'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2449:17: enter_function: entry to 'ematch__scan_bytes'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2458:24: call_function: calling 'ematch_alloc' from 'ematch__scan_bytes'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2458:24: return_function: returning to 'ematch__scan_bytes' from 'ematch_alloc'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2459:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2459:12: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2467:6: call_function: calling 'ematch__scan_buffer' from 'ematch__scan_bytes'
# 2463|   	for ( i = 0; i < _yybytes_len; ++i )
# 2464|   		buf[i] = yybytes[i];
# 2465|-> 
# 2466|   	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
# 2467|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def58]
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2465:26: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(n)'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2449:17: enter_function: entry to 'ematch__scan_bytes'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2458:24: call_function: inlined call to 'ematch_alloc' from 'ematch__scan_bytes'
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2459:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2459:12: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_grammar.c:2467:6: call_function: calling 'ematch__scan_buffer' from 'ematch__scan_bytes'
# 2463|   	for ( i = 0; i < _yybytes_len; ++i )
# 2464|   		buf[i] = yybytes[i];
# 2465|-> 
# 2466|   	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
# 2467|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def59]
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: warning[-Wanalyzer-malloc-leak]: leak of 'yyptr'
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1516:6: branch_false: following 'false' branch (when 'yyn != -63')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1525:16: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1534:11: branch_false: following 'false' branch (when 'yychar != 256')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1546:17: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1553:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1556:6: branch_false: following 'false' branch (when 'yyn > 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1573:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1443:28: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1466:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1468:7: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1475:11: acquire_memory: allocated here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1477:12: branch_false: following 'false' branch (when 'yyptr' is non-NULL)...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1482:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1482:12: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1495:10: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1516:6: branch_false: following 'false' branch (when 'yyn != -63')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1525:16: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1525:16: throw: if 'ematch_lex' throws an exception...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: danger: 'yyptr' leaks here; was allocated at [(21)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/20)
# 1477|           if (! yyptr)
# 1478|             YYNOMEM;
# 1479|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 1480|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 1481|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-457): [#def60]
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'yyss'
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1443:28: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1466:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1468:7: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1477:12: branch_false: following 'false' branch (when 'yyptr' is non-NULL)...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1479:9: danger: use of uninitialized value 'yyss' here
# 1477|           if (! yyptr)
# 1478|             YYNOMEM;
# 1479|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 1480|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 1481|   #  undef YYSTACK_RELOCATE

Error: GCC_ANALYZER_WARNING (CWE-401): [#def61]
libnl-3.12.0/lib/route/cls/ematch_syntax.y:429:56: warning[-Wanalyzer-malloc-leak]: leak of 'yyval.e'
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1516:6: branch_false: following 'false' branch (when 'yyn != -63')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1525:16: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1534:11: branch_false: following 'false' branch (when 'yychar != 256')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1546:17: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1556:6: branch_false: following 'false' branch (when 'yyn > 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1573:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1586:6: branch_false: following 'false' branch (when 'yyn != 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1588:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:419:28: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:420:49: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:424:56: acquire_memory: allocated here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:424:36: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:429:56: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:429:56: throw: if 'nl_addr_get_binary_addr' throws an exception...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:429:56: danger: 'yyval.e' leaks here; was allocated at [(25)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/24)
#  427|   				}
#  428|   
#  429|-> 				memcpy($$.data, nl_addr_get_binary_addr(addr), $$.len);
#  430|   				nl_addr_put(addr);
#  431|   			} else {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def62]
libnl-3.12.0/lib/route/cls/ematch_syntax.y:430:33: warning[-Wanalyzer-malloc-leak]: leak of 'yyval.e'
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1516:6: branch_false: following 'false' branch (when 'yyn != -63')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1522:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1525:16: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1534:11: branch_false: following 'false' branch (when 'yychar != 256')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1546:17: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1556:6: branch_false: following 'false' branch (when 'yyn > 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1566:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1573:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1501:6: branch_false: following 'false' branch (when 'yystate != 26')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1504:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1586:6: branch_false: following 'false' branch (when 'yyn != 0')...
libnl-3.12.0/lib/route/cls/ematch_syntax.c:1588:3: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:419:28: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:420:49: branch_true: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:424:56: acquire_memory: allocated here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:424:36: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:429:56: branch_false: ...to here
libnl-3.12.0/lib/route/cls/ematch_syntax.y:430:33: throw: if 'nl_addr_put' throws an exception...
libnl-3.12.0/lib/route/cls/ematch_syntax.y:430:33: danger: 'yyval.e' leaks here; was allocated at [(25)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/24)
#  428|   
#  429|   				memcpy($$.data, nl_addr_get_binary_addr(addr), $$.len);
#  430|-> 				nl_addr_put(addr);
#  431|   			} else {
#  432|   				if (asprintf(errp, "invalid pattern \"%s\"", $1) == -1)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def63]
libnl-3.12.0/lib/route/cls/u32.c:312:13: warning[-Wanalyzer-null-dereference]: dereference of NULL 'sel'
libnl-3.12.0/lib/route/cls/u32.c:367:13: enter_function: entry to 'u32_dump_details'
libnl-3.12.0/lib/route/cls/u32.c:374:12: branch_false: following 'false' branch (when 'data' is non-NULL)...
libnl-3.12.0/lib/route/cls/u32.c:377:15: branch_false: ...to here
libnl-3.12.0/lib/route/cls/u32.c:377:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/u32.c:378:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/u32.c:401:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/cls/u32.c:402:17: branch_true: ...to here
libnl-3.12.0/lib/route/cls/u32.c:402:17: call_function: calling 'print_selector' from 'u32_dump_details'
#  310|   	struct tc_u32_key *key;
#  311|   
#  312|-> 	if (sel->hmask || sel->hoff) {
#  313|   		/* I guess this will never be used since the kernel only
#  314|   		 * exports the selector if no divisor is set but hash offset

Error: GCC_ANALYZER_WARNING (CWE-401): [#def64]
libnl-3.12.0/lib/route/link/bridge.c:200:16: warning[-Wanalyzer-malloc-leak]: leak of 'mst_state_entry_clone(entry)'
libnl-3.12.0/lib/route/link/bridge.c:203:14: enter_function: entry to 'bridge_clone'
libnl-3.12.0/lib/route/link/bridge.c:210:12: branch_false: following 'false' branch (when 'dst_bd' is non-NULL)...
libnl-3.12.0/lib/route/link/bridge.c:213:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/bridge.c:217:9: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/bridge.c:219:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/bridge.c:219:25: call_function: calling 'mst_state_entry_clone' from 'bridge_clone'
libnl-3.12.0/lib/route/link/bridge.c:219:25: return_function: returning to 'bridge_clone' from 'mst_state_entry_clone'
libnl-3.12.0/lib/route/link/bridge.c:221:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/bridge.c:226:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/bridge.c:200:16: danger: 'mst_state_entry_clone(entry)' leaks here; was allocated at [(11)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/10)
#  198|   mst_state_entry_clone(struct mst_state_entry *src)
#  199|   {
#  200|-> 	return mst_state_entry_create(src->msti, src->state);
#  201|   }
#  202|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def65]
libnl-3.12.0/lib/route/link/macvlan.c:214:17: warning[-Wanalyzer-malloc-leak]: leak of 'calloc((long unsigned int)*vdst.mvi_maccount, 8)'
libnl-3.12.0/lib/route/link/macvlan.c:203:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:205:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:207:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:210:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:212:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/macvlan.c:213:16: branch_true: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:212:16: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/macvlan.c:214:44: branch_true: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:214:37: acquire_memory: allocated here
libnl-3.12.0/lib/route/link/macvlan.c:214:17: danger: 'calloc((long unsigned int)*vdst.mvi_maccount, 8)' leaks here; was allocated at [(9)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/8)
#  212|   	if (   vsrc->mvi_mask & MACVLAN_HAS_MACADDR
#  213|   	    && vsrc->mvi_maccount > 0) {
#  214|-> 		vdst->mvi_macaddr = calloc(vdst->mvi_maccount,
#  215|   		                           sizeof(*(vdst->mvi_macaddr)));
#  216|   		for (i = 0; i < vdst->mvi_maccount; i++)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def66]
libnl-3.12.0/lib/route/link/macvlan.c:590:47: warning[-Wanalyzer-malloc-leak]: leak of 'mvi_macaddr'
libnl-3.12.0/lib/route/link/macvlan.c:569:9: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:571:13: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:571:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:574:15: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:574:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:575:14: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:574:13: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:578:14: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:578:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:581:13: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:581:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:584:19: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:586:12: branch_false: following 'false' branch (when 'mvi_macaddr' is non-NULL)...
libnl-3.12.0/lib/route/link/macvlan.c:589:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:590:47: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/route/link/macvlan.c:590:47: danger: 'mvi_macaddr' leaks here; was allocated at [(13)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/12)
#  588|   
#  589|   	mvi->mvi_macaddr = mvi_macaddr;
#  590|-> 	mvi->mvi_macaddr[mvi->mvi_maccount] = nl_addr_clone(addr);
#  591|   	mvi->mvi_maccount++;
#  592|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def67]
libnl-3.12.0/lib/route/link/macvlan.c:596:1: warning[-Wanalyzer-malloc-leak]: leak of 'mvi_macaddr'
libnl-3.12.0/lib/route/link/macvlan.c:569:9: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:571:13: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:571:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:574:15: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:574:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:575:14: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:574:13: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:578:14: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:578:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:581:13: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:581:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/macvlan.c:584:19: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:586:12: branch_false: following 'false' branch (when 'mvi_macaddr' is non-NULL)...
libnl-3.12.0/lib/route/link/macvlan.c:589:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/macvlan.c:596:1: danger: 'mvi_macaddr' leaks here; was allocated at [(13)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/12)
#  594|   
#  595|   	return 0;
#  596|-> }
#  597|   
#  598|   /**

Error: GCC_ANALYZER_WARNING (CWE-401): [#def68]
libnl-3.12.0/lib/route/link/sriov.c:126:35: warning[-Wanalyzer-malloc-leak]: leak of 'dst_vlan_info'
libnl-3.12.0/lib/route/link/sriov.c:103:5: enter_function: entry to 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:110:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:113:26: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:113:26: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:113:26: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:114:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:117:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:127:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:131:25: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:134:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:135:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:138:31: call_function: calling 'rtnl_link_vf_vlan_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:138:31: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_vlan_alloc'
libnl-3.12.0/lib/route/link/sriov.c:140:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:144:50: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:126:35: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/route/link/sriov.c:126:35: danger: 'dst_vlan_info' leaks here; was allocated at [(32)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/31)
#  124|   
#  125|   		if (s_vf->ce_mask & SRIOV_ATTR_ADDR) {
#  126|-> 			vf_addr = nl_addr_clone(s_vf->vf_lladdr);
#  127|   			if (!vf_addr) {
#  128|   				rtnl_link_vf_put(d_vf);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def69]
libnl-3.12.0/lib/route/link/sriov.c:144:25: warning[-Wanalyzer-malloc-leak]: leak of 'dst_vlan_info'
libnl-3.12.0/lib/route/link/sriov.c:103:5: enter_function: entry to 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:110:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:113:26: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:113:26: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:113:26: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:114:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:117:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:127:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:131:25: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:134:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:135:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:138:31: call_function: calling 'rtnl_link_vf_vlan_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:138:31: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_vlan_alloc'
libnl-3.12.0/lib/route/link/sriov.c:140:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:144:50: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:127:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:131:25: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:134:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:135:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:138:31: call_function: calling 'rtnl_link_vf_vlan_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:138:31: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_vlan_alloc'
libnl-3.12.0/lib/route/link/sriov.c:140:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:144:50: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:144:25: danger: 'dst_vlan_info' leaks here; was allocated at [(32)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/31)
#  142|   				return err;
#  143|   			}
#  144|-> 			dst_vlan_info = dst_vlans->vlans;
#  145|   			memcpy(dst_vlans, src_vlans, sizeof(nl_vf_vlans_t));
#  146|   			memcpy(dst_vlan_info, src_vlan_info,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def70]
libnl-3.12.0/lib/route/link/sriov.c:773:9: warning[-Wanalyzer-malloc-leak]: leak of 'rtnl_link_vf_alloc()'
libnl-3.12.0/lib/route/link/sriov.c:537:5: enter_function: entry to 'rtnl_link_sriov_parse_vflist'
libnl-3.12.0/lib/route/link/sriov.c:554:27: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_parse_vflist'
libnl-3.12.0/lib/route/link/sriov.c:554:27: return_function: returning to 'rtnl_link_sriov_parse_vflist' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:555:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:559:20: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:559:52: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:561:23: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:563:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:566:27: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:566:27: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_parse_vflist'
libnl-3.12.0/lib/route/link/sriov.c:566:27: return_function: returning to 'rtnl_link_sriov_parse_vflist' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:567:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:570:21: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:570:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:571:37: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:571:37: throw: if 'nla_data' throws an exception...
libnl-3.12.0/lib/route/link/sriov.c:773:9: danger: 'rtnl_link_vf_alloc()' leaks here; was allocated at [(15)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/14)
#  771|   		return NULL;
#  772|   
#  773|-> 	NL_INIT_LIST_HEAD(&vf->vf_list);
#  774|   	vf->ce_refcnt = 1;
#  775|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def71]
libnl-3.12.0/lib/route/link/sriov.c:793:17: warning[-Wanalyzer-malloc-leak]: leak of 'dst_vlan_info'
libnl-3.12.0/lib/route/link/sriov.c:103:5: enter_function: entry to 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:110:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:113:26: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:113:26: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:113:26: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:114:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:117:9: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:127:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:131:25: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:134:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:135:25: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:138:31: call_function: calling 'rtnl_link_vf_vlan_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:138:31: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_vlan_alloc'
libnl-3.12.0/lib/route/link/sriov.c:140:28: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:144:50: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:119:9: branch_true: following 'true' branch (when 's_vf != s_list')...
libnl-3.12.0/lib/route/link/sriov.c:120:30: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:120:30: call_function: calling 'rtnl_link_vf_alloc' from 'rtnl_link_sriov_clone'
libnl-3.12.0/lib/route/link/sriov.c:120:30: return_function: returning to 'rtnl_link_sriov_clone' from 'rtnl_link_vf_alloc'
libnl-3.12.0/lib/route/link/sriov.c:120:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/link/sriov.c:123:17: branch_false: ...to here
libnl-3.12.0/lib/route/link/sriov.c:125:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:126:49: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:127:28: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/link/sriov.c:128:33: branch_true: ...to here
libnl-3.12.0/lib/route/link/sriov.c:128:33: call_function: calling 'rtnl_link_vf_put' from 'rtnl_link_sriov_clone'
#  791|   
#  792|   	if (vf_data->ce_mask & SRIOV_ATTR_ADDR)
#  793|-> 		nl_addr_put(vf_data->vf_lladdr);
#  794|   	if (vf_data->ce_mask & SRIOV_ATTR_VLAN)
#  795|   		rtnl_link_vf_vlan_put(vf_data->vf_vlans);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def72]
libnl-3.12.0/lib/route/mdb.c:447:9: warning[-Wanalyzer-malloc-leak]: leak of 'rtnl_mdb_entry_alloc()'
libnl-3.12.0/lib/route/mdb.c:108:31: enter_function: entry to 'mdb_entry_clone'
libnl-3.12.0/lib/route/mdb.c:110:38: call_function: calling 'rtnl_mdb_entry_alloc' from 'mdb_entry_clone'
libnl-3.12.0/lib/route/mdb.c:110:38: return_function: returning to 'mdb_entry_clone' from 'rtnl_mdb_entry_alloc'
libnl-3.12.0/lib/route/mdb.c:111:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/mdb.c:114:24: branch_false: ...to here
libnl-3.12.0/lib/route/mdb.c:119:21: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/route/mdb.c:447:9: danger: 'rtnl_mdb_entry_alloc()' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
#  445|   		return NULL;
#  446|   
#  447|-> 	nl_init_list_head(&mdb->mdb_list);
#  448|   
#  449|   	return mdb;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def73]
libnl-3.12.0/lib/route/neigh.c:278:25: warning[-Wanalyzer-malloc-leak]: leak of 'nkey'
libnl-3.12.0/lib/route/neigh.c:251:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/neigh.c:259:28: branch_true: ...to here
libnl-3.12.0/lib/route/neigh.c:261:16: acquire_memory: allocated here
libnl-3.12.0/lib/route/neigh.c:262:12: branch_false: following 'false' branch (when 'nkey' is non-NULL)...
libnl-3.12.0/lib/route/neigh.c:266:26: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:276:12: branch_true: following 'true' branch (when 'addr' is non-NULL)...
libnl-3.12.0/lib/route/neigh.c:279:25: branch_true: ...to here
libnl-3.12.0/lib/route/neigh.c:278:25: throw: if 'nl_addr_get_binary_addr' throws an exception...
libnl-3.12.0/lib/route/neigh.c:278:25: danger: 'nkey' leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  276|   	if (addr)
#  277|   		memcpy(nkey->n_addr,
#  278|-> 			nl_addr_get_binary_addr(addr),
#  279|   			nl_addr_get_len(addr));
#  280|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def74]
libnl-3.12.0/lib/route/neigh.c:279:25: warning[-Wanalyzer-malloc-leak]: leak of 'nkey'
libnl-3.12.0/lib/route/neigh.c:251:20: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/neigh.c:259:28: branch_true: ...to here
libnl-3.12.0/lib/route/neigh.c:261:16: acquire_memory: allocated here
libnl-3.12.0/lib/route/neigh.c:262:12: branch_false: following 'false' branch (when 'nkey' is non-NULL)...
libnl-3.12.0/lib/route/neigh.c:266:26: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:276:12: branch_true: following 'true' branch (when 'addr' is non-NULL)...
libnl-3.12.0/lib/route/neigh.c:279:25: branch_true: ...to here
libnl-3.12.0/lib/route/neigh.c:279:25: throw: if 'nl_addr_get_len' throws an exception...
libnl-3.12.0/lib/route/neigh.c:279:25: danger: 'nkey' leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  277|   		memcpy(nkey->n_addr,
#  278|   			nl_addr_get_binary_addr(addr),
#  279|-> 			nl_addr_get_len(addr));
#  280|   
#  281|   	*hashkey = nl_hash(nkey, nkey_sz, 0) % table_sz;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def75]
libnl-3.12.0/lib/route/neigh.c:281:20: warning[-Wanalyzer-malloc-leak]: leak of 'nkey'
libnl-3.12.0/lib/route/neigh.c:253:19: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/neigh.c:261:16: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:261:16: acquire_memory: allocated here
libnl-3.12.0/lib/route/neigh.c:262:12: branch_false: following 'false' branch (when 'nkey' is non-NULL)...
libnl-3.12.0/lib/route/neigh.c:266:26: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:267:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/neigh.c:274:35: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:276:12: branch_false: following 'false' branch (when 'addr' is NULL)...
libnl-3.12.0/lib/route/neigh.c:281:20: branch_false: ...to here
libnl-3.12.0/lib/route/neigh.c:281:20: throw: if 'nl_hash' throws an exception...
libnl-3.12.0/lib/route/neigh.c:281:20: danger: 'nkey' leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  279|   			nl_addr_get_len(addr));
#  280|   
#  281|-> 	*hashkey = nl_hash(nkey, nkey_sz, 0) % table_sz;
#  282|   
#  283|   	NL_DBG(5, "neigh %p key (fam %d dev %d addr %s) keysz %d hash 0x%x\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def76]
libnl-3.12.0/lib/route/nexthop.c:48:9: warning[-Wanalyzer-malloc-leak]: leak of 'rtnl_route_nh_alloc()'
libnl-3.12.0/lib/route/nexthop.c:53:22: enter_function: entry to 'rtnl_route_nh_clone'
libnl-3.12.0/lib/route/nexthop.c:57:14: call_function: calling 'rtnl_route_nh_alloc' from 'rtnl_route_nh_clone'
libnl-3.12.0/lib/route/nexthop.c:57:14: return_function: returning to 'rtnl_route_nh_clone' from 'rtnl_route_nh_alloc'
libnl-3.12.0/lib/route/nexthop.c:58:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nexthop.c:61:26: branch_false: ...to here
libnl-3.12.0/lib/route/nexthop.c:68:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/nexthop.c:69:36: branch_true: ...to here
libnl-3.12.0/lib/route/nexthop.c:69:36: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/route/nexthop.c:55:52: call_function: inlined call to '_nl_auto_rtnl_nexthop_fcn' from 'rtnl_route_nh_clone'
#   46|   		return NULL;
#   47|   
#   48|-> 	nl_init_list_head(&nh->rtnh_list);
#   49|   
#   50|   	return nh;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def77]
libnl-3.12.0/lib/route/nh.c:773:26: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(1, 16)'
libnl-3.12.0/lib/route/nh.c:762:23: enter_function: entry to 'rtnl_nh_encap_clone'
libnl-3.12.0/lib/route/nh.c:766:12: branch_false: following 'false' branch (when 'src' is non-NULL)...
libnl-3.12.0/lib/route/nh.c:769:21: call_function: inlined call to 'rtnl_nh_encap_alloc' from 'rtnl_nh_encap_clone'
libnl-3.12.0/lib/route/nh.c:770:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh.c:773:26: branch_false: ...to here
libnl-3.12.0/lib/route/nh.c:774:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/nh.c:775:35: branch_true: ...to here
libnl-3.12.0/lib/route/nh.c:775:35: throw: if the called function throws an exception...
libnl-3.12.0/lib/route/nh.c:764:54: call_function: inlined call to '_nl_auto_rtnl_nh_encap_fcn' from 'rtnl_nh_encap_clone'
#  771|   		return NULL;
#  772|   
#  773|-> 	new_encap->ops = src->ops;
#  774|   	if (new_encap->ops) {
#  775|   		new_encap->priv = new_encap->ops->clone(src->priv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def78]
libnl-3.12.0/lib/route/nh.c:773:26: warning[-Wanalyzer-malloc-leak]: leak of 'rtnl_nh_encap_alloc()'
libnl-3.12.0/lib/route/nh.c:762:23: enter_function: entry to 'rtnl_nh_encap_clone'
libnl-3.12.0/lib/route/nh.c:766:12: branch_false: following 'false' branch (when 'src' is non-NULL)...
libnl-3.12.0/lib/route/nh.c:769:21: branch_false: ...to here
libnl-3.12.0/lib/route/nh.c:769:21: call_function: calling 'rtnl_nh_encap_alloc' from 'rtnl_nh_encap_clone'
libnl-3.12.0/lib/route/nh.c:769:21: return_function: returning to 'rtnl_nh_encap_clone' from 'rtnl_nh_encap_alloc'
libnl-3.12.0/lib/route/nh.c:770:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh.c:773:26: branch_false: ...to here
libnl-3.12.0/lib/route/nh.c:774:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/nh.c:775:35: branch_true: ...to here
libnl-3.12.0/lib/route/nh.c:775:35: throw: if the called function throws an exception...
libnl-3.12.0/lib/route/nh.c:764:54: call_function: inlined call to '_nl_auto_rtnl_nh_encap_fcn' from 'rtnl_nh_encap_clone'
#  771|   		return NULL;
#  772|   
#  773|-> 	new_encap->ops = src->ops;
#  774|   	if (new_encap->ops) {
#  775|   		new_encap->priv = new_encap->ops->clone(src->priv);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def79]
libnl-3.12.0/lib/route/nh_encap_ip.c:96:22: warning[-Wanalyzer-malloc-leak]: leak of 'clone'
libnl-3.12.0/lib/route/nh_encap_ip.c:89:12: branch_false: following 'false' branch (when 'priv' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip.c:92:17: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:92:17: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip.c:93:12: branch_false: following 'false' branch (when 'clone' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip.c:96:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:96:22: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip.c:96:22: danger: 'clone' leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   94|   		return NULL;
#   95|   
#   96|-> 	clone->dst = nl_addr_get(src->dst);
#   97|   	if (src->src)
#   98|   		clone->src = nl_addr_get(src->src);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def80]
libnl-3.12.0/lib/route/nh_encap_ip.c:98:30: warning[-Wanalyzer-malloc-leak]: leak of 'clone'
libnl-3.12.0/lib/route/nh_encap_ip.c:89:12: branch_false: following 'false' branch (when 'priv' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip.c:92:17: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:92:17: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip.c:93:12: branch_false: following 'false' branch (when 'clone' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip.c:96:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:97:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/nh_encap_ip.c:98:30: branch_true: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:98:30: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip.c:98:30: danger: 'clone' leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   96|   	clone->dst = nl_addr_get(src->dst);
#   97|   	if (src->src)
#   98|-> 		clone->src = nl_addr_get(src->src);
#   99|   	clone->id = src->id;
#  100|   	clone->flags = src->flags;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def81]
libnl-3.12.0/lib/route/nh_encap_ip.c:237:25: warning[-Wanalyzer-malloc-leak]: leak of 'ip_encap'
libnl-3.12.0/lib/route/nh_encap_ip.c:228:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip.c:230:13: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:230:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip.c:233:20: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:233:20: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip.c:234:12: branch_false: following 'false' branch (when 'ip_encap' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip.c:237:25: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip.c:237:25: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip.c:237:25: danger: 'ip_encap' leaks here; was allocated at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#  235|   		return -NLE_NOMEM;
#  236|   
#  237|-> 	ip_encap->dst = nl_addr_get(dst);
#  238|   
#  239|   	nh_encap->priv = ip_encap;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def82]
libnl-3.12.0/lib/route/nh_encap_ip6.c:96:22: warning[-Wanalyzer-malloc-leak]: leak of 'clone'
libnl-3.12.0/lib/route/nh_encap_ip6.c:89:12: branch_false: following 'false' branch (when 'priv' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip6.c:92:17: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:92:17: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip6.c:93:12: branch_false: following 'false' branch (when 'clone' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip6.c:96:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:96:22: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip6.c:96:22: danger: 'clone' leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   94|   		return NULL;
#   95|   
#   96|-> 	clone->dst = nl_addr_get(src->dst);
#   97|   	if (src->src)
#   98|   		clone->src = nl_addr_get(src->src);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def83]
libnl-3.12.0/lib/route/nh_encap_ip6.c:98:30: warning[-Wanalyzer-malloc-leak]: leak of 'clone'
libnl-3.12.0/lib/route/nh_encap_ip6.c:89:12: branch_false: following 'false' branch (when 'priv' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip6.c:92:17: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:92:17: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip6.c:93:12: branch_false: following 'false' branch (when 'clone' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip6.c:96:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:97:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:98:30: branch_true: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:98:30: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip6.c:98:30: danger: 'clone' leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#   96|   	clone->dst = nl_addr_get(src->dst);
#   97|   	if (src->src)
#   98|-> 		clone->src = nl_addr_get(src->src);
#   99|   	clone->id = src->id;
#  100|   	clone->tc = src->tc;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def84]
libnl-3.12.0/lib/route/nh_encap_ip6.c:240:26: warning[-Wanalyzer-malloc-leak]: leak of 'ip6_encap'
libnl-3.12.0/lib/route/nh_encap_ip6.c:231:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:233:13: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:233:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_ip6.c:236:21: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:236:21: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_ip6.c:237:12: branch_false: following 'false' branch (when 'ip6_encap' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_ip6.c:240:26: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_ip6.c:240:26: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_ip6.c:240:26: danger: 'ip6_encap' leaks here; was allocated at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#  238|   		return -NLE_NOMEM;
#  239|   
#  240|-> 	ip6_encap->dst = nl_addr_get(dst);
#  241|   
#  242|   	nh_encap->priv = ip6_encap;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def85]
libnl-3.12.0/lib/route/nh_encap_mpls.c:64:22: warning[-Wanalyzer-malloc-leak]: leak of 'clone'
libnl-3.12.0/lib/route/nh_encap_mpls.c:57:12: branch_false: following 'false' branch (when 'priv' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_mpls.c:60:17: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_mpls.c:60:17: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_mpls.c:61:12: branch_false: following 'false' branch (when 'clone' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_mpls.c:64:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_mpls.c:64:22: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_mpls.c:64:22: danger: 'clone' leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#   62|   		return NULL;
#   63|   
#   64|-> 	clone->dst = nl_addr_get(src->dst);
#   65|   	clone->ttl = src->ttl;
#   66|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def86]
libnl-3.12.0/lib/route/nh_encap_mpls.c:146:27: warning[-Wanalyzer-malloc-leak]: leak of 'mpls_encap'
libnl-3.12.0/lib/route/nh_encap_mpls.c:138:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/nh_encap_mpls.c:141:22: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_mpls.c:141:22: acquire_memory: allocated here
libnl-3.12.0/lib/route/nh_encap_mpls.c:142:12: branch_false: following 'false' branch (when 'mpls_encap' is non-NULL)...
libnl-3.12.0/lib/route/nh_encap_mpls.c:146:27: branch_false: ...to here
libnl-3.12.0/lib/route/nh_encap_mpls.c:146:27: throw: if 'nl_addr_get' throws an exception...
libnl-3.12.0/lib/route/nh_encap_mpls.c:146:27: danger: 'mpls_encap' leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  144|   	}
#  145|   
#  146|-> 	mpls_encap->dst = nl_addr_get(dst);
#  147|   	mpls_encap->ttl = ttl;
#  148|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def87]
libnl-3.12.0/lib/route/pktloc_grammar.c:1624:54: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(64)'
libnl-3.12.0/lib/route/pktloc_grammar.c:1611:21: enter_function: entry to 'pktloc__create_buffer'
libnl-3.12.0/lib/route/pktloc_grammar.c:1615:24: call_function: inlined call to 'pktloc_alloc' from 'pktloc__create_buffer'
libnl-3.12.0/lib/route/pktloc_grammar.c:1616:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_grammar.c:1619:2: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_grammar.c:1624:54: danger: 'malloc(64)' leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
# 1622|   	/* yy_ch_buf has to be 2 characters longer than the size given because
# 1623|   	 * we need to put in 2 end-of-buffer characters.
# 1624|-> 	 */
# 1625|   	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
# 1626|   	if ( ! b->yy_ch_buf )

Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
libnl-3.12.0/lib/route/pktloc_grammar.c:1624:54: warning[-Wanalyzer-malloc-leak]: leak of 'pktloc_alloc(64, yyscanner)'
libnl-3.12.0/lib/route/pktloc_grammar.c:1611:21: enter_function: entry to 'pktloc__create_buffer'
libnl-3.12.0/lib/route/pktloc_grammar.c:1615:24: call_function: calling 'pktloc_alloc' from 'pktloc__create_buffer'
libnl-3.12.0/lib/route/pktloc_grammar.c:1615:24: return_function: returning to 'pktloc__create_buffer' from 'pktloc_alloc'
libnl-3.12.0/lib/route/pktloc_grammar.c:1616:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_grammar.c:1619:2: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_grammar.c:1624:54: danger: 'pktloc_alloc(64, yyscanner)' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
# 1622|   	/* yy_ch_buf has to be 2 characters longer than the size given because
# 1623|   	 * we need to put in 2 end-of-buffer characters.
# 1624|-> 	 */
# 1625|   	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
# 1626|   	if ( ! b->yy_ch_buf )

Error: GCC_ANALYZER_WARNING (CWE-476): [#def89]
libnl-3.12.0/lib/route/pktloc_grammar.c:1667:2: warning[-Wanalyzer-null-dereference]: dereference of NULL 'b'
libnl-3.12.0/lib/route/pktloc_grammar.c:1546:10: enter_function: entry to 'pktloc_restart'
libnl-3.12.0/lib/route/pktloc_grammar.c:1551:16: call_function: calling 'pktloc_ensure_buffer_stack' from 'pktloc_restart'
libnl-3.12.0/lib/route/pktloc_grammar.c:1551:16: return_function: returning to 'pktloc_restart' from 'pktloc_ensure_buffer_stack'
libnl-3.12.0/lib/route/pktloc_grammar.c:1553:27: call_function: calling 'pktloc__create_buffer' from 'pktloc_restart'
libnl-3.12.0/lib/route/pktloc_grammar.c:1553:27: return_function: returning to 'pktloc_restart' from 'pktloc__create_buffer'
libnl-3.12.0/lib/route/pktloc_grammar.c:1556:2: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_grammar.c:1556:2: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_grammar.c:1556:2: call_function: calling 'pktloc__init_buffer' from 'pktloc_restart'
# 1665|   
# 1666|   	yy_flush_buffer( b , yyscanner);
# 1667|-> 
# 1668|   	b->yy_input_file = file;
# 1669|   	b->yy_fill_buffer = 1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def90]
libnl-3.12.0/lib/route/pktloc_grammar.c:1885:26: warning[-Wanalyzer-malloc-leak]: leak of 'malloc(n)'
libnl-3.12.0/lib/route/pktloc_grammar.c:1869:17: enter_function: entry to 'pktloc__scan_bytes'
libnl-3.12.0/lib/route/pktloc_grammar.c:1878:24: call_function: inlined call to 'pktloc_alloc' from 'pktloc__scan_bytes'
libnl-3.12.0/lib/route/pktloc_grammar.c:1879:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_grammar.c:1879:12: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_grammar.c:1887:6: call_function: calling 'pktloc__scan_buffer' from 'pktloc__scan_bytes'
# 1883|   	for ( i = 0; i < _yybytes_len; ++i )
# 1884|   		buf[i] = yybytes[i];
# 1885|-> 
# 1886|   	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
# 1887|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
libnl-3.12.0/lib/route/pktloc_grammar.c:1885:26: warning[-Wanalyzer-malloc-leak]: leak of 'pktloc_alloc(n,  yyscanner)'
libnl-3.12.0/lib/route/pktloc_grammar.c:1869:17: enter_function: entry to 'pktloc__scan_bytes'
libnl-3.12.0/lib/route/pktloc_grammar.c:1878:24: call_function: calling 'pktloc_alloc' from 'pktloc__scan_bytes'
libnl-3.12.0/lib/route/pktloc_grammar.c:1878:24: return_function: returning to 'pktloc__scan_bytes' from 'pktloc_alloc'
libnl-3.12.0/lib/route/pktloc_grammar.c:1879:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_grammar.c:1879:12: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_grammar.c:1887:6: call_function: calling 'pktloc__scan_buffer' from 'pktloc__scan_bytes'
# 1883|   	for ( i = 0; i < _yybytes_len; ++i )
# 1884|   		buf[i] = yybytes[i];
# 1885|-> 
# 1886|   	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
# 1887|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: warning[-Wanalyzer-malloc-leak]: leak of 'yyptr'
libnl-3.12.0/lib/route/pktloc_syntax.c:1315:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: following 'false' branch (when 'yystate != 7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1387:3: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1399:6: branch_false: following 'false' branch (when 'yyn != -7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1408:16: branch_true: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1417:11: branch_false: following 'false' branch (when 'yychar != 256')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1430:17: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1440:6: branch_false: following 'false' branch (when 'yyn > 0')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1450:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1450:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1457:3: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1315:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: following 'false' branch (when 'yystate != 7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1387:3: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1399:6: branch_false: following 'false' branch (when 'yyn != -7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1408:16: branch_true: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1437:6: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1440:6: branch_false: following 'false' branch (when 'yyn > 0')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1450:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1450:6: branch_false: following 'false' branch (when 'yyerrstatus == 0')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1457:3: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1315:6: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1321:28: branch_true: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1347:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1349:7: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1356:11: acquire_memory: allocated here
libnl-3.12.0/lib/route/pktloc_syntax.c:1358:12: branch_false: following 'false' branch (when 'yyptr' is non-NULL)...
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1364:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1364:12: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1378:10: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1384:6: branch_false: following 'false' branch (when 'yystate != 7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1387:3: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1399:6: branch_false: following 'false' branch (when 'yyn != -7')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1405:6: branch_true: following 'true' branch (when 'yychar == -2')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1408:16: branch_true: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1408:16: throw: if 'pktloc_lex' throws an exception...
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: danger: 'yyptr' leaks here; was allocated at [(35)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/34)
# 1358|           if (! yyptr)
# 1359|             YYNOMEM;
# 1360|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 1361|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 1362|           YYSTACK_RELOCATE (yyls_alloc, yyls);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def93]
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'yyss'
libnl-3.12.0/lib/route/pktloc_syntax.c:1315:6: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/pktloc_syntax.c:1321:28: branch_true: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1347:10: branch_false: following 'false' branch (when 'yystacksize <= 9999')...
libnl-3.12.0/lib/route/pktloc_syntax.c:1349:7: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1358:12: branch_false: following 'false' branch (when 'yyptr' is non-NULL)...
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: branch_false: ...to here
libnl-3.12.0/lib/route/pktloc_syntax.c:1360:9: danger: use of uninitialized value 'yyss' here
# 1358|           if (! yyptr)
# 1359|             YYNOMEM;
# 1360|->         YYSTACK_RELOCATE (yyss_alloc, yyss);
# 1361|           YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# 1362|           YYSTACK_RELOCATE (yyls_alloc, yyls);

Error: COMPILER_WARNING (CWE-704): [#def94]
libnl-3.12.0/lib/route/qdisc/netem.c: scope_hint: In function 'rtnl_netem_set_delay_distribution'
libnl-3.12.0/lib/route/qdisc/netem.c:961:21: warning[-Wdiscarded-qualifiers]: assignment discards 'const' qualifier from pointer target type
#  961 |         test_suffix = strstr(dist_type, dist_suffix);
#      |                     ^
#  959|   
#  960|   	/* If the given filename already ends in .dist, don't append it later */
#  961|-> 	test_suffix = strstr(dist_type, dist_suffix);
#  962|   	if (test_suffix != NULL && strlen(test_suffix) == 5)
#  963|   		strcpy(dist_suffix, "");

Error: COMPILER_WARNING (CWE-704): [#def95]
libnl-3.12.0/lib/route/qdisc/netem.c:961:21: warning[-Wdiscarded-qualifiers]: assignment discards 'const' qualifier from pointer target type
#  959|   
#  960|   	/* If the given filename already ends in .dist, don't append it later */
#  961|-> 	test_suffix = strstr(dist_type, dist_suffix);
#  962|   	if (test_suffix != NULL && strlen(test_suffix) == 5)
#  963|   		strcpy(dist_suffix, "");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def96]
libnl-3.12.0/lib/route/qdisc/netem.c:975:25: warning[-Wanalyzer-malloc-leak]: leak of 'calloc(65536, 2)'
libnl-3.12.0/lib/route/qdisc/netem.c:940:5: enter_function: entry to 'rtnl_netem_set_delay_distribution'
libnl-3.12.0/lib/route/qdisc/netem.c:962:12: branch_false: following 'false' branch (when 'test_suffix' is NULL)...
libnl-3.12.0/lib/route/qdisc/netem.c:965:9: branch_false: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:965:21: branch_true: following 'true' branch (when 'i != 5')...
libnl-3.12.0/lib/route/qdisc/netem.c:966:17: branch_true: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:971:12: branch_false: following 'false' branch (when 'f' is non-NULL)...
libnl-3.12.0/lib/route/qdisc/netem.c:974:28: branch_false: ...to here
libnl-3.12.0/lib/route/qdisc/netem.c:974:28: acquire_memory: allocated here
libnl-3.12.0/lib/route/qdisc/netem.c:976:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/qdisc/netem.c:1000:13: call_function: calling 'rtnl_netem_set_delay_distribution_data' from 'rtnl_netem_set_delay_distribution'
libnl-3.12.0/lib/route/qdisc/netem.c:975:25: danger: 'calloc(65536, 2)' leaks here; was allocated at [(9)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/8)
#  973|   
#  974|   	data = (int16_t *) calloc(MAXDIST, sizeof(int16_t));
#  975|-> 	line = (char *) calloc(len + 1, sizeof(char));
#  976|   	if (!data || !line) {
#  977|   	    fclose(f);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def97]
libnl-3.12.0/lib/route/route_obj.c:1445:36: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libnl-3.12.0/lib/route/route_obj.c:1432:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1435:29: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1436:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1439:15: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1442:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1444:22: branch_true: ...to here
libnl-3.12.0/lib/route/route_obj.c:1445:36: danger: dereference of NULL 'rtnl_route_nexthop_n(route, 0)'
# 1443|   		struct rtnl_nexthop *nh;
# 1444|   		nh = rtnl_route_nexthop_n(route, 0);
# 1445|-> 		rtmsg.rtm_flags |= nh->rtnh_flags;
# 1446|   	}
# 1447|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def98]
libnl-3.12.0/lib/route/route_obj.c:1498:21: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
libnl-3.12.0/lib/route/route_obj.c:1432:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1435:29: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1448:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1455:13: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1492:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/route/route_obj.c:1494:20: branch_false: ...to here
libnl-3.12.0/lib/route/route_obj.c:1494:19: branch_true: following 'true' branch...
libnl-3.12.0/lib/route/route_obj.c:1497:22: branch_true: ...to here
libnl-3.12.0/lib/route/route_obj.c:1498:21: danger: dereference of NULL 'rtnl_route_nexthop_n(route, 0)'
# 1496|   
# 1497|   		nh = rtnl_route_nexthop_n(route, 0);
# 1498|-> 		if (nh->rtnh_gateway)
# 1499|   			NLA_PUT_ADDR(msg, RTA_GATEWAY, nh->rtnh_gateway);
# 1500|   		if (nh->rtnh_ifindex)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def99]
libnl-3.12.0/lib/socket.c:78:21: warning[-Wanalyzer-malloc-leak]: leak of '__alloc_socket(nl_cb_alloc((enum nl_cb_kind)default_cb))'
libnl-3.12.0/lib/socket.c:227:17: enter_function: entry to 'nl_socket_alloc'
libnl-3.12.0/lib/socket.c:233:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/socket.c:237:14: branch_false: ...to here
libnl-3.12.0/lib/socket.c:237:14: call_function: calling '__alloc_socket' from 'nl_socket_alloc'
libnl-3.12.0/lib/socket.c:237:14: return_function: returning to 'nl_socket_alloc' from '__alloc_socket'
libnl-3.12.0/lib/socket.c:239:9: throw: if 'nl_cb_put' throws an exception...
libnl-3.12.0/lib/socket.c:78:21: danger: '__alloc_socket(nl_cb_alloc((enum nl_cb_kind)default_cb))' leaks here; was allocated at [(6)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/5)
#   76|   	 * considering 32 bit from time_t.  Use the inverse, so that for the
#   77|   	 * most part the bits don't change.  */
#   78|-> 	result ^= (~(v64 >> 32));
#   79|   
#   80|   	return result;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def100]
libnl-3.12.0/lib/socket.c:210:20: warning[-Wanalyzer-malloc-leak]: leak of 'sk'
libnl-3.12.0/lib/socket.c:205:14: acquire_memory: allocated here
libnl-3.12.0/lib/socket.c:206:12: branch_false: following 'false' branch (when 'sk' is non-NULL)...
libnl-3.12.0/lib/socket.c:209:9: branch_false: ...to here
libnl-3.12.0/lib/socket.c:210:20: throw: if 'nl_cb_get' throws an exception...
libnl-3.12.0/lib/socket.c:210:20: danger: 'sk' leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  208|   
#  209|   	sk->s_fd = -1;
#  210|-> 	sk->s_cb = nl_cb_get(cb);
#  211|   	sk->s_local.nl_family = AF_NETLINK;
#  212|   	sk->s_peer.nl_family = AF_NETLINK;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def101]
libnl-3.12.0/lib/utils.c:86:21: warning[-Wanalyzer-file-leak]: leak of FILE 'fopen(path, "re")'
libnl-3.12.0/lib/utils.c:77:14: acquire_resource: opened here
libnl-3.12.0/lib/utils.c:78:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:78:12: branch_false: ...to here
libnl-3.12.0/lib/utils.c:81:16: branch_true: following 'true' branch...
libnl-3.12.0/lib/utils.c:86:21: branch_true: ...to here
libnl-3.12.0/lib/utils.c:90:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:95:21: branch_false: ...to here
libnl-3.12.0/lib/utils.c:95:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:95:20: branch_false: ...to here
libnl-3.12.0/lib/utils.c:104:20: branch_false: following 'false' branch (when 'goodlen != 0')...
libnl-3.12.0/lib/utils.c:109:20: branch_false: ...to here
libnl-3.12.0/lib/utils.c:111:23: throw: if the called function throws an exception...
libnl-3.12.0/lib/utils.c:86:21: danger: 'fopen(path, "re")' leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   84|   		char *end;
#   85|   
#   86|-> 		if (*buf == '#' || *buf == '\n' || *buf == '\r')
#   87|   			continue;
#   88|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def102]
libnl-3.12.0/lib/utils.c:86:21: warning[-Wanalyzer-malloc-leak]: leak of 'fopen(path, "re")'
libnl-3.12.0/lib/utils.c:77:14: acquire_memory: allocated here
libnl-3.12.0/lib/utils.c:78:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:78:12: branch_false: ...to here
libnl-3.12.0/lib/utils.c:81:16: branch_true: following 'true' branch...
libnl-3.12.0/lib/utils.c:86:21: branch_true: ...to here
libnl-3.12.0/lib/utils.c:90:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:95:21: branch_false: ...to here
libnl-3.12.0/lib/utils.c:95:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/utils.c:95:20: branch_false: ...to here
libnl-3.12.0/lib/utils.c:104:20: branch_false: following 'false' branch (when 'goodlen != 0')...
libnl-3.12.0/lib/utils.c:109:20: branch_false: ...to here
libnl-3.12.0/lib/utils.c:111:23: throw: if the called function throws an exception...
libnl-3.12.0/lib/utils.c:86:21: danger: 'fopen(path, "re")' leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   84|   		char *end;
#   85|   
#   86|-> 		if (*buf == '#' || *buf == '\n' || *buf == '\r')
#   87|   			continue;
#   88|   

Error: CPPCHECK_WARNING (CWE-401): [#def103]
libnl-3.12.0/lib/utils.c:1053: error[memleak]: Memory leak: tl
# 1051|   	nl_list_add_tail(&tl->list, head);
# 1052|   
# 1053|-> 	return 0;
# 1054|   }
# 1055|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
libnl-3.12.0/lib/xfrm/sa.c:1298:29: warning[-Wanalyzer-malloc-leak]: leak of 'auth'
libnl-3.12.0/lib/xfrm/sa.c:1198:12: enter_function: entry to 'build_xfrm_sa_message'
libnl-3.12.0/lib/xfrm/sa.c:1205:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1206:18: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1205:13: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1207:18: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1205:13: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1210:9: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1268:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1271:13: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1271:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1274:13: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1279:12: branch_true: following 'true' branch...
libnl-3.12.0/lib/xfrm/sa.c:1282:21: branch_true: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1282:20: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/sa.c:1288:61: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1289:32: acquire_memory: allocated here
libnl-3.12.0/lib/xfrm/sa.c:1290:28: branch_false: following 'false' branch (when 'auth' is non-NULL)...
libnl-3.12.0/lib/xfrm/sa.c:1295:60: branch_false: ...to here
libnl-3.12.0/lib/xfrm/sa.c:1295:25: call_function: inlined call to '_nl_strncpy_assert' from 'build_xfrm_sa_message'
libnl-3.12.0/lib/xfrm/sa.c:1298:29: throw: if 'nla_put' throws an exception...
libnl-3.12.0/lib/xfrm/sa.c:1298:29: danger: 'auth' leaks here; was allocated at [(16)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/15)
# 1296|   			auth->alg_key_len = tmpl->auth->alg_key_len;
# 1297|   			memcpy(auth->alg_key, tmpl->auth->alg_key, (tmpl->auth->alg_key_len + 7) / 8);
# 1298|-> 			if (nla_put(msg, XFRMA_ALG_AUTH, len, auth) < 0) {
# 1299|   				free(auth);
# 1300|   				goto nla_put_failure;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def105]
libnl-3.12.0/lib/xfrm/selector.c:124:36: warning[-Wanalyzer-malloc-leak]: leak of 'xfrmnl_sel_alloc()'
libnl-3.12.0/lib/xfrm/selector.c:115:20: enter_function: entry to 'xfrmnl_sel_clone'
libnl-3.12.0/lib/xfrm/selector.c:119:15: call_function: calling 'xfrmnl_sel_alloc' from 'xfrmnl_sel_clone'
libnl-3.12.0/lib/xfrm/selector.c:119:15: return_function: returning to 'xfrmnl_sel_clone' from 'xfrmnl_sel_alloc'
libnl-3.12.0/lib/xfrm/selector.c:120:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/selector.c:123:9: branch_false: ...to here
libnl-3.12.0/lib/xfrm/selector.c:124:22: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/xfrm/selector.c:124:36: danger: 'xfrmnl_sel_alloc()' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
#  122|   
#  123|   	memcpy(new, sel, sizeof(struct xfrmnl_sel));
#  124|-> 	new->daddr = nl_addr_clone(sel->daddr);
#  125|   	new->saddr = nl_addr_clone(sel->saddr);
#  126|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def106]
libnl-3.12.0/lib/xfrm/template.c:84:9: warning[-Wanalyzer-malloc-leak]: leak of 'xfrmnl_user_tmpl_alloc()'
libnl-3.12.0/lib/xfrm/template.c:95:26: enter_function: entry to 'xfrmnl_user_tmpl_clone'
libnl-3.12.0/lib/xfrm/template.c:99:15: call_function: calling 'xfrmnl_user_tmpl_alloc' from 'xfrmnl_user_tmpl_clone'
libnl-3.12.0/lib/xfrm/template.c:99:15: return_function: returning to 'xfrmnl_user_tmpl_clone' from 'xfrmnl_user_tmpl_alloc'
libnl-3.12.0/lib/xfrm/template.c:100:12: branch_false: following 'false' branch...
libnl-3.12.0/lib/xfrm/template.c:103:9: branch_false: ...to here
libnl-3.12.0/lib/xfrm/template.c:104:25: throw: if 'nl_addr_clone' throws an exception...
libnl-3.12.0/lib/xfrm/template.c:84:9: danger: 'xfrmnl_user_tmpl_alloc()' leaks here; was allocated at [(4)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/3)
#   82|   		return NULL;
#   83|   
#   84|-> 	nl_init_list_head(&utmpl->utmpl_list);
#   85|   
#   86|   	return utmpl;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def107]
libnl-3.12.0/src/nl-cls-add.c:111:27: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:111:27: throw: if ‘nl_cli_print_version’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:111:27: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  109|   		case 'q': quiet = 1; break;
#  110|   		case 'h': print_usage(); break;
#  111|-> 		case 'v': nl_cli_print_version(); break;
#  112|   		case 'd': nl_cli_tc_parse_dev(tc, link_cache, optarg); break;
#  113|   		case 'p': nl_cli_tc_parse_parent(tc, optarg); break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def108]
libnl-3.12.0/src/nl-cls-add.c:112:27: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:112:27: throw: if ‘nl_cli_tc_parse_dev’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:112:27: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  110|   		case 'h': print_usage(); break;
#  111|   		case 'v': nl_cli_print_version(); break;
#  112|-> 		case 'd': nl_cli_tc_parse_dev(tc, link_cache, optarg); break;
#  113|   		case 'p': nl_cli_tc_parse_parent(tc, optarg); break;
#  114|   		case 'i': free(id); id = strdup(optarg); break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def109]
libnl-3.12.0/src/nl-cls-add.c:113:27: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:113:27: throw: if ‘nl_cli_tc_parse_parent’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:113:27: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/2)
#  111|   		case 'v': nl_cli_print_version(); break;
#  112|   		case 'd': nl_cli_tc_parse_dev(tc, link_cache, optarg); break;
#  113|-> 		case 'p': nl_cli_tc_parse_parent(tc, optarg); break;
#  114|   		case 'i': free(id); id = strdup(optarg); break;
#  115|   		case ARG_UPDATE: flags = NLM_F_CREATE; break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def110]
libnl-3.12.0/src/nl-cls-add.c:117:31: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:117:31: throw: if ‘nl_cli_tc_parse_mtu’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:117:31: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  115|   		case ARG_UPDATE: flags = NLM_F_CREATE; break;
#  116|   		case ARG_UPDATE_ONLY: flags = 0; break;
#  117|-> 		case ARG_MTU: nl_cli_tc_parse_mtu(tc, optarg); break;
#  118|   		case ARG_MPU: nl_cli_tc_parse_mpu(tc, optarg); break;
#  119|   		case ARG_OVERHEAD: nl_cli_tc_parse_overhead(tc, optarg); break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def111]
libnl-3.12.0/src/nl-cls-add.c:118:31: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:118:31: throw: if ‘nl_cli_tc_parse_mpu’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:118:31: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
#  116|   		case ARG_UPDATE_ONLY: flags = 0; break;
#  117|   		case ARG_MTU: nl_cli_tc_parse_mtu(tc, optarg); break;
#  118|-> 		case ARG_MPU: nl_cli_tc_parse_mpu(tc, optarg); break;
#  119|   		case ARG_OVERHEAD: nl_cli_tc_parse_overhead(tc, optarg); break;
#  120|   		case ARG_LINKTYPE: nl_cli_tc_parse_linktype(tc, optarg); break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def112]
libnl-3.12.0/src/nl-cls-add.c:119:36: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:119:36: throw: if ‘nl_cli_tc_parse_overhead’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:119:36: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  117|   		case ARG_MTU: nl_cli_tc_parse_mtu(tc, optarg); break;
#  118|   		case ARG_MPU: nl_cli_tc_parse_mpu(tc, optarg); break;
#  119|-> 		case ARG_OVERHEAD: nl_cli_tc_parse_overhead(tc, optarg); break;
#  120|   		case ARG_LINKTYPE: nl_cli_tc_parse_linktype(tc, optarg); break;
#  121|   		case ARG_PROTO: nl_cli_cls_parse_proto(cls, optarg); break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def113]
libnl-3.12.0/src/nl-cls-add.c:120:36: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:120:36: throw: if ‘nl_cli_tc_parse_linktype’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:120:36: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#  118|   		case ARG_MPU: nl_cli_tc_parse_mpu(tc, optarg); break;
#  119|   		case ARG_OVERHEAD: nl_cli_tc_parse_overhead(tc, optarg); break;
#  120|-> 		case ARG_LINKTYPE: nl_cli_tc_parse_linktype(tc, optarg); break;
#  121|   		case ARG_PROTO: nl_cli_cls_parse_proto(cls, optarg); break;
#  122|   		case ARG_PRIO:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def114]
libnl-3.12.0/src/nl-cls-add.c:121:33: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:121:33: throw: if ‘nl_cli_cls_parse_proto’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:121:33: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/2)
#  119|   		case ARG_OVERHEAD: nl_cli_tc_parse_overhead(tc, optarg); break;
#  120|   		case ARG_LINKTYPE: nl_cli_tc_parse_linktype(tc, optarg); break;
#  121|-> 		case ARG_PROTO: nl_cli_cls_parse_proto(cls, optarg); break;
#  122|   		case ARG_PRIO:
#  123|   			rtnl_cls_set_prio(cls, nl_cli_parse_u32(optarg));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
libnl-3.12.0/src/nl-cls-add.c:123:25: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:123:25: throw: if ‘rtnl_cls_set_prio’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:123:25: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#  121|   		case ARG_PROTO: nl_cli_cls_parse_proto(cls, optarg); break;
#  122|   		case ARG_PRIO:
#  123|-> 			rtnl_cls_set_prio(cls, nl_cli_parse_u32(optarg));
#  124|   			break;
#  125|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def116]
libnl-3.12.0/src/nl-cls-add.c:123:48: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:123:48: throw: if ‘nl_cli_parse_u32’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:123:48: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/2)
#  121|   		case ARG_PROTO: nl_cli_cls_parse_proto(cls, optarg); break;
#  122|   		case ARG_PRIO:
#  123|-> 			rtnl_cls_set_prio(cls, nl_cli_parse_u32(optarg));
#  124|   			break;
#  125|   		}

Error: GCC_ANALYZER_WARNING (CWE-401): [#def117]
libnl-3.12.0/src/nl-cls-add.c:131:14: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_true: following ‘true’ branch (when ‘c == -1’)...
libnl-3.12.0/src/nl-cls-add.c:162:1: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:128:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:131:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:131:14: throw: if ‘rtnl_tc_get_ifindex’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:131:14: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2)
#  129|   		print_usage();
#  130|   
#  131|-> 	if (!rtnl_tc_get_ifindex(tc))
#  132|   		nl_cli_fatal(EINVAL, "You must specify a network device (--dev=XXX)");
#  133|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def118]
libnl-3.12.0/src/nl-cls-add.c:132:17: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_true: following ‘true’ branch (when ‘c == -1’)...
libnl-3.12.0/src/nl-cls-add.c:162:1: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:128:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:131:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:131:12: branch_true: following ‘true’ branch...
libnl-3.12.0/src/nl-cls-add.c:132:17: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:132:17: throw: if ‘nl_cli_fatal’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:132:17: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/2)
#  130|   
#  131|   	if (!rtnl_tc_get_ifindex(tc))
#  132|-> 		nl_cli_fatal(EINVAL, "You must specify a network device (--dev=XXX)");
#  133|   
#  134|   	if (!rtnl_tc_get_parent(tc))

Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
libnl-3.12.0/src/nl-cls-add.c:134:14: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_true: following ‘true’ branch (when ‘c == -1’)...
libnl-3.12.0/src/nl-cls-add.c:162:1: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:128:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:131:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:131:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:134:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:134:14: throw: if ‘rtnl_tc_get_parent’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:134:14: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/2)
#  132|   		nl_cli_fatal(EINVAL, "You must specify a network device (--dev=XXX)");
#  133|   
#  134|-> 	if (!rtnl_tc_get_parent(tc))
#  135|   		nl_cli_fatal(EINVAL, "You must specify a parent (--parent=XXX)");
#  136|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def120]
libnl-3.12.0/src/nl-cls-add.c:135:17: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_true: following ‘true’ branch (when ‘c == -1’)...
libnl-3.12.0/src/nl-cls-add.c:162:1: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:128:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:131:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:131:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:134:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:134:12: branch_true: following ‘true’ branch...
libnl-3.12.0/src/nl-cls-add.c:135:17: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:135:17: throw: if ‘nl_cli_fatal’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:135:17: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/2)
#  133|   
#  134|   	if (!rtnl_tc_get_parent(tc))
#  135|-> 		nl_cli_fatal(EINVAL, "You must specify a parent (--parent=XXX)");
#  136|   
#  137|   	if (id) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
libnl-3.12.0/src/nl-cls-add.c:138:17: warning[-Wanalyzer-malloc-leak]: leak of ‘id’
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_false: following ‘false’ branch (when ‘c != -1’)...
libnl-3.12.0/src/nl-cls-add.c:108:17: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:114:42: acquire_memory: allocated here
libnl-3.12.0/src/nl-cls-add.c:105:20: branch_true: following ‘true’ branch (when ‘c == -1’)...
libnl-3.12.0/src/nl-cls-add.c:162:1: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:128:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:131:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:131:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:134:14: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:134:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-cls-add.c:137:12: branch_false: ...to here
libnl-3.12.0/src/nl-cls-add.c:137:12: branch_true: following ‘true’ branch (when ‘id’ is non-NULL)...
libnl-3.12.0/src/nl-cls-add.c:138:17: branch_true: ...to here
libnl-3.12.0/src/nl-cls-add.c:138:17: throw: if ‘nl_cli_tc_parse_handle’ throws an exception...
libnl-3.12.0/src/nl-cls-add.c:138:17: danger: ‘id’ leaks here; was allocated at [(3)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/2)
#  136|   
#  137|   	if (id) {
#  138|-> 		nl_cli_tc_parse_handle(tc, id, 1);
#  139|   		free(id);
#  140|   	}

Error: GCC_ANALYZER_WARNING (CWE-775): [#def122]
libnl-3.12.0/src/nl-list-sockets.c:37:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen("/proc/net/netlink", "re")’
libnl-3.12.0/src/nl-list-sockets.c:17:14: acquire_resource: opened here
libnl-3.12.0/src/nl-list-sockets.c:18:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-list-sockets.c:23:9: branch_false: ...to here
libnl-3.12.0/src/nl-list-sockets.c:26:16: branch_true: following ‘true’ branch...
libnl-3.12.0/src/nl-list-sockets.c:31:23: branch_true: ...to here
libnl-3.12.0/src/nl-list-sockets.c:37:17: throw: if ‘nl_nlfamily2str’ throws an exception...
libnl-3.12.0/src/nl-list-sockets.c:37:17: danger: ‘fopen("/proc/net/netlink", "re")’ leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#   35|   			continue;
#   36|   		
#   37|-> 		printf("0x%016lx %-16s %-6d %08x %-6d %-6d 0x%08lx %d\n",
#   38|   			sk, nl_nlfamily2str(proto, p, sizeof(p)), pid,
#   39|   			groups, rmem, wmem, cb, refcnt);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def123]
libnl-3.12.0/src/nl-list-sockets.c:37:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen("/proc/net/netlink", "re")’
libnl-3.12.0/src/nl-list-sockets.c:17:14: acquire_memory: allocated here
libnl-3.12.0/src/nl-list-sockets.c:18:12: branch_false: following ‘false’ branch...
libnl-3.12.0/src/nl-list-sockets.c:23:9: branch_false: ...to here
libnl-3.12.0/src/nl-list-sockets.c:26:16: branch_true: following ‘true’ branch...
libnl-3.12.0/src/nl-list-sockets.c:31:23: branch_true: ...to here
libnl-3.12.0/src/nl-list-sockets.c:37:17: throw: if ‘nl_nlfamily2str’ throws an exception...
libnl-3.12.0/src/nl-list-sockets.c:37:17: danger: ‘fopen("/proc/net/netlink", "re")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#   35|   			continue;
#   36|   		
#   37|-> 		printf("0x%016lx %-16s %-6d %08x %-6d %-6d 0x%08lx %d\n",
#   38|   			sk, nl_nlfamily2str(proto, p, sizeof(p)), pid,
#   39|   			groups, rmem, wmem, cb, refcnt);

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-87.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibnl3-3.12.0-2.fc44
store-results-to/tmp/tmpzkzfcsln/libnl3-3.12.0-2.fc44.tar.xz
time-created2026-01-08 19:03:04
time-finished2026-01-08 19:05:50
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpzkzfcsln/libnl3-3.12.0-2.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpzkzfcsln/libnl3-3.12.0-2.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9