nfs-utils: update to 1.3.1.

This commit is contained in:
Juan RP 2014-10-07 13:54:56 +02:00
parent 1e24547634
commit 5c5c256d50
2 changed files with 3 additions and 66 deletions

View File

@ -1,63 +0,0 @@
From 8b03fdbfb0dd8e0147aa61ff30b8311235caf5f3 Mon Sep 17 00:00:00 2001
From: Jeff Layton <jlayton@poochiereds.net>
Date: Thu, 1 May 2014 11:15:16 -0400
Subject: [PATCH] mountd: fix segfault in add_name with newer gcc compilers
Bug-Debian: http://bugs.debian.org/757835
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+bug/1355829
I hit a segfault in add_name with a mountd built with gcc-4.9.0. Some
NULL pointer checks got reordered such that a pointer was dereferenced
before checking to see whether it was NULL. The problem was due to
nfs-utils relying on undefined behavior, which tricked gcc into assuming
that the pointer would never be NULL.
At first I assumed that this was a compiler bug, but Jakub Jelinek and
Jeff Law pointed out:
"If old is NULL, then:
strncpy(new, old, cp-old);
is undefined behavior (even when cp == old == NULL in that case),
therefore gcc assumes that old is never NULL, as otherwise it would be
invalid.
Just guard
strncpy(new, old, cp-old);
new[cp-old] = 0;
with if (old) { ... }."
This patch does that. If old is NULL though, then we still need to
ensure that new is NULL terminated, lest the subsequent strcats walk off
the end of it.
Cc: Jeff Law <law@redhat.com>
Cc: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Jeff Layton <jlayton@poochiereds.net>
Signed-off-by: Steve Dickson <steved@redhat.com>
---
support/export/client.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git support/export/client.c support/export/client.c
index ba2db8f..e749cac 100644
--- support/export/client.c
+++ support/export/client.c
@@ -482,8 +482,12 @@ add_name(char *old, const char *add)
else
cp = cp + strlen(cp);
}
- strncpy(new, old, cp-old);
- new[cp-old] = 0;
+ if (old) {
+ strncpy(new, old, cp-old);
+ new[cp-old] = 0;
+ } else {
+ new[0] = 0;
+ }
if (cp != old && !*cp)
strcat(new, ",");
strcat(new, add);
--
2.1.0.rc1

View File

@ -1,13 +1,13 @@
# Template file for 'nfs-utils' # Template file for 'nfs-utils'
pkgname=nfs-utils pkgname=nfs-utils
version=1.3.0 version=1.3.1
revision=2 revision=1
short_desc="Network File System client utilities" short_desc="Network File System client utilities"
maintainer="Juan RP <xtraeme@gmail.com>" maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-2" license="GPL-2"
homepage="http://nfs.sourceforge.net" homepage="http://nfs.sourceforge.net"
distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz" distfiles="${KERNEL_SITE}/utils/${pkgname}/${version}/${pkgname}-${version}.tar.xz"
checksum=ab8384d0e487ed6a18c5380d5df28015f7dd98680bf08f3247c97d9f7d99e56f checksum=ff79d70b7b58b2c8f9b798c58721127e82bb96022adc04a5c4cb251630e696b8
hostmakedepends="pkg-config" hostmakedepends="pkg-config"
makedepends="libblkid-devel libmount-devel libtirpc-devel makedepends="libblkid-devel libmount-devel libtirpc-devel