Hello community, here is the log from the commit of package libnl3 for openSUSE:Factory checked in at 2017-01-24 10:29:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libnl3 (Old) and /work/SRC/openSUSE:Factory/.libnl3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnl3" Changes: -------- --- /work/SRC/openSUSE:Factory/libnl3/libnl3.changes 2016-10-10 16:18:37.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libnl3.new/libnl3.changes 2017-01-24 10:29:45.321418589 +0100 @@ -1,0 +2,27 @@ +Wed Jan 18 23:26:00 UTC 2017 - jeng...@inai.de + +- Add nla-reserve.diff [boo#1020123] + +------------------------------------------------------------------- +Mon Jan 16 17:46:53 UTC 2017 - jeng...@inai.de + +- Update to new upstream release 3.2.29 +* nl-addr: avoid read-out-of-bound in nl_addr_fill_sockaddr() +* lib: add utility function nl_strerror_l() +* lib/route: allow override of message type during link change +* lib/route: set IFLA_PROTINFO attribute in request message +* lib/route: Add port state translation functions +* lib/route: Extend Bridge Flags +* lib/route: Allow override of IFLA_AF_SPEC nesting +* lib/route: Support IFLA_BRIDGE_MODE +* macvlan: add support for "source" mode +* macvlan: adjust types and merge MACVLAN_HAS_MACCOUNT and + MACVLAN_HAS_MACDATA +* vxlan: add support for additional VXLAN attributes +* lib/route: SRIOV Parse, Read, Clone support +* Add PPP support +* route/act: add gact tc action +* link: add support for IFLA_CARRIER_CHANGES, IFLA_PHYS_PORT_NAME, + IFLA_PHYS_SWITCH_ID, IFLA_GSO_MAX_SEGS and IFLA_GSO_MAX_SIZE + +------------------------------------------------------------------- Old: ---- libnl-3.2.28.tar.gz libnl-3.2.28.tar.gz.sig New: ---- libnl-3.2.29.tar.gz libnl-3.2.29.tar.gz.sig nla-reserve.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libnl3.spec ++++++ --- /var/tmp/diff_new_pack.tUFRZN/_old 2017-01-24 10:29:45.853343151 +0100 +++ /var/tmp/diff_new_pack.tUFRZN/_new 2017-01-24 10:29:45.857342584 +0100 @@ -1,7 +1,7 @@ # # spec file for package libnl3 # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,8 +19,8 @@ Name: libnl3 %define lname libnl3-200 %define with_tools 1 -%define uver 3_2_28 -Version: 3.2.28 +%define uver 3_2_29 +Version: 3.2.29 Release: 0 Summary: Convenience library for working with Netlink sockets License: LGPL-2.1 and GPL-2.0 @@ -33,6 +33,7 @@ Source: https://github.com/thom311/libnl/releases/download/libnl%uver/libnl-%version.tar.gz Source2: https://github.com/thom311/libnl/releases/download/libnl%uver/libnl-%version.tar.gz.sig Source3: baselibs.conf +Patch1: nla-reserve.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: bison >= 2.4 BuildRequires: flex >= 2.5.19 @@ -103,6 +104,7 @@ %prep %setup -qn libnl-%version +%patch -P 1 -p1 %build %configure --disable-static ++++++ libnl-3.2.28.tar.gz -> libnl-3.2.29.tar.gz ++++++ ++++ 9382 lines of diff (skipped) ++++++ nla-reserve.diff ++++++ >From c473d59f972c35c5a7363d52ee6ee1e0792de0f8 Mon Sep 17 00:00:00 2001 From: Thomas Haller <thal...@redhat.com> Date: Wed, 18 Jan 2017 11:59:23 +0100 Subject: [PATCH] lib/attr.c: check for valid length argument in nla_reserve() https://github.com/thom311/libnl/issues/124 --- lib/attr.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/attr.c b/lib/attr.c index a3d1b16..0dca3ec 100644 --- a/lib/attr.c +++ b/lib/attr.c @@ -457,7 +457,10 @@ struct nlattr *nla_reserve(struct nl_msg *msg, int attrtype, int attrlen) { struct nlattr *nla; int tlen; - + + if (attrlen < 0) + return NULL; + tlen = NLMSG_ALIGN(msg->nm_nlh->nlmsg_len) + nla_total_size(attrlen); if (tlen > msg->nm_size) @@ -499,8 +502,12 @@ int nla_put(struct nl_msg *msg, int attrtype, int datalen, const void *data) struct nlattr *nla; nla = nla_reserve(msg, attrtype, datalen); - if (!nla) + if (!nla) { + if (datalen < 0) + return -NLE_INVAL; + return -NLE_NOMEM; + } if (datalen > 0) { memcpy(nla_data(nla), data, datalen); -- 2.11.0