iproute2/lib
Vlad Buslov 8c50b728b2 libnetlink: fix use-after-free of message buf
In __rtnl_talk_iov() main loop, err is a pointer to memory in dynamically
allocated 'buf' that is used to store netlink messages. If netlink message
is an error message, buf is deallocated before returning with error code.
However, on return err->error code is checked one more time to generate
return value, after memory which err points to has already been
freed. Save error code in temporary variable and use the variable to
generate return value.

Fixes: c60389e4f9 ("libnetlink: fix leak and using unused memory on error")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2018-10-09 09:41:03 -07:00
..
Makefile lib: Correct object file dependencies 2018-02-16 08:14:18 -08:00
bpf.c Merge branch 'iproute2-master' into iproute2-next 2018-07-25 10:08:04 -07:00
color.c iproute: make clang happy 2018-08-30 07:58:09 -07:00
coverity_model.c scrub out whitespace issues 2016-03-27 10:50:14 -07:00
dnet_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
dnet_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
exec.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
fs.c Convert the obvious cases to strlcpy() 2017-09-01 12:10:54 -07:00
inet_proto.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipx_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
ipx_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
json_print.c lib: introduce print_nl 2018-09-11 08:29:33 -07:00
json_writer.c iproute: make clang happy 2018-08-30 07:58:09 -07:00
libgenl.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
libnetlink.c libnetlink: fix use-after-free of message buf 2018-10-09 09:41:03 -07:00
ll_addr.c utils: ll_addr: Handle ARPHRD_IP6GRE in ll_addr_n2a() 2017-12-26 09:07:42 -08:00
ll_map.c utils: Reimplement ll_idx_n2a() and introduce ll_idx_a2n() 2018-02-16 08:14:13 -08:00
ll_proto.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ll_types.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
mpls_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
mpls_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
names.c Replace malloc && memset by calloc 2016-07-20 12:05:24 -07:00
namespace.c lib/namespace: avoid double-mounting a /sys 2018-07-27 13:40:12 -07:00
rt_names.c iproute2: Add support for a few routing protocols 2018-06-11 11:18:30 -07:00
utils.c lib: introduce print_nl 2018-09-11 08:29:33 -07:00