Hello community,

here is the log from the commit of package libtirpc for openSUSE:Factory 
checked in at 2014-02-04 21:49:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtirpc (Old)
 and      /work/SRC/openSUSE:Factory/.libtirpc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libtirpc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libtirpc/libtirpc.changes        2014-01-15 
16:25:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libtirpc.new/libtirpc.changes   2014-02-04 
22:42:39.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Jan 31 15:56:16 UTC 2014 - [email protected]
+
+- Prevent a segfault of 'rpcinfo -b' on systems with tuntap devices 
(bnc#861577).
+  Added: libtirpc-getbroadifs-crash.patch
+
+-------------------------------------------------------------------

New:
----
  libtirpc-getbroadifs-crash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libtirpc.spec ++++++
--- /var/tmp/diff_new_pack.h5HQBm/_old  2014-02-04 22:42:39.000000000 +0100
+++ /var/tmp/diff_new_pack.h5HQBm/_new  2014-02-04 22:42:39.000000000 +0100
@@ -46,6 +46,7 @@
 Patch36:        libtirpc-misc-segfaults.patch
 Patch37:        libtirpc-new-path-rpcbindsock.patch
 Patch38:        libtirpc-taddr2uaddr-local.patch
+Patch39:        libtirpc-getbroadifs-crash.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %define debug_package_requires libtirpc1 = %{version}-%{release}
 
@@ -90,6 +91,7 @@
 %patch36 -p1
 %patch37 -p1
 %patch38 -p1
+%patch39 -p1
 
 %build
 autoreconf -fiv

++++++ libtirpc-getbroadifs-crash.patch ++++++
>From 5aa9bf181ec1ce900ca4e84c62e3b31346478626 Mon Sep 17 00:00:00 2001
From: Olaf Kirch <[email protected]>
Date: Fri, 31 Jan 2014 16:37:25 +0100
Subject: [PATCH] Prevent a segfault of "rpcinfo -b" on systems with tuntap
 devices

Linux tuntap devices and other virtual network devices, if not
configured, will be reported by getifaddrs() with a NULL ifa_addr
pointer. __rpc_getifaddrs would trip over that, because it derefenced
the ifa_addr pointer without checking.

Signed-off-by: Olaf Kirch <[email protected]>
---
 src/clnt_bcast.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/clnt_bcast.c b/src/clnt_bcast.c
index 1055545..6ab0851 100644
--- a/src/clnt_bcast.c
+++ b/src/clnt_bcast.c
@@ -143,7 +143,8 @@ __rpc_getbroadifs(int af, int proto, int socktype, 
broadlist_t *list)
                return 0;
 
        for (ifap = ifp; ifap != NULL; ifap = ifap->ifa_next) {
-               if (ifap->ifa_addr->sa_family != af ||
+               if (ifap->ifa_addr == NULL ||           /* happens for eg 
tuntap devices */
+                   ifap->ifa_addr->sa_family != af ||
                    !(ifap->ifa_flags & IFF_UP))
                        continue;
                bip = (struct broadif *)malloc(sizeof *bip);
-- 
1.7.12.4

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to