Resolves: #528581 - avoid NULL dereference in kernel

This commit is contained in:
Petr Pisar 2010-05-10 15:05:24 +00:00
parent 30ab821dca
commit b944a1aecb
2 changed files with 38 additions and 5 deletions

View File

@ -0,0 +1,25 @@
Avoid memory corruption of NULL address.
Backport of
<https://sourceforge.net/tracker/?func=detail&aid=2996418&group_id=18136&atid=118136>
and n+2nd CVS commit.
diff --git a/quotasys.c b/quotasys.c
index 9a7f440..0a4a609 100644
--- a/quotasys.c
+++ b/quotasys.c
@@ -707,9 +707,12 @@ void init_kernel_interface(void)
kernel_formats = 0;
if (!stat("/proc/fs/xfs/stat", &st))
kernel_formats |= (1 << QF_XFS);
- else
- if (!quotactl(QCMD(Q_XGETQSTAT, 0), NULL, 0, NULL) || (errno != EINVAL && errno != ENOSYS))
+ else {
+ fs_quota_stat_t dummy;
+
+ if (!quotactl(QCMD(Q_XGETQSTAT, 0), "/dev/root", 0, (void *)&dummy) || (errno != EINVAL && errno != ENOSYS))
kernel_formats |= (1 << QF_XFS);
+ }
/* Detect new kernel interface; Assume generic interface unless we can prove there is not one... */
if (!stat("/proc/sys/fs/quota", &st) || errno != ENOENT) {
kernel_iface = IFACE_GENERIC;

View File

@ -5,7 +5,7 @@ Name: quota
Summary: System administration tools for monitoring users' disk usage
Epoch: 1
Version: 3.17
Release: 11%{?dist}
Release: 12%{?dist}
License: BSD and GPLv2+
URL: http://sourceforge.net/projects/linuxquota/
Group: System Environment/Base
@ -15,7 +15,7 @@ Conflicts: kernel < 2.4
BuildRequires: e2fsprogs-devel gettext tcp_wrappers-devel nss-devel
BuildRequires: openldap-devel openssl-devel dbus-devel libnl-devel
Source0: http://downloads.sourceforge.net/linuxquota/%{name}-%{version}.tar.gz
Patch0: quota-3.06-warnquota.patch
Patch0: quota-3.06-warnquota.patch
Patch1: quota-3.06-no-stripping.patch
Patch2: quota-3.06-man-page.patch
Patch3: quota-3.06-pie.patch
@ -24,10 +24,12 @@ Patch5: quota-3.16-helpoption.patch
Patch6: quota-3.16-quotaoffhelp.patch
Patch7: quota-3.17-quotactlmanpage.patch
Patch8: quota-3.17-ftbfs.patch
# Bug #528581, remove in upstream 4.00
Patch9: quota-3.17-quotactl_null_corruption.patch
%description
The quota package contains system administration tools for monitoring
and limiting user and or group disk usage per filesystem.
and limiting user and or group disk usage per file system.
%package devel
Summary: Development files for quota
@ -36,7 +38,7 @@ Requires: quota = %{epoch}:%{version}-%{release}
%description devel
The quota package contains system administration tools for monitoring
and limiting user and or group disk usage per filesystem.
and limiting user and or group disk usage per file system.
This package contains development header files for implementing quotas
on remote machines.
@ -55,6 +57,7 @@ on remote machines.
%patch6 -p1 -b .usage
%patch7 -p1 -b .quotactlman
%patch8 -p1
%patch9 -p1 -b .quotactl_null_corruption
#fix typos/mistakes in localized documentation
for pofile in $(find ./po/*.p*)
@ -117,6 +120,11 @@ rm -rf %{buildroot}
%attr(0644,root,root) %{_mandir}/man3/*
%changelog
* Tue May 10 2010 Petr Pisar <ppisar@redhat.com> 1:3.17-12
- Prevent corruptive read/write from/to NULL address in rpc.rquotad
(Resolves #528581, example in #532342)
- Fix spelling in summary
* Fri Mar 12 2010 Daniel Novotny <dnovotny@redhat.com> 1:3.17-11
- the require from previous fix deleted altogether (it will
be resolved automatically)
@ -125,7 +133,7 @@ rm -rf %{buildroot}
- Requires: e2fsprogs changed to e2fsprogs-libs (#570005)
* Tue Feb 23 2010 Daniel Novotny <dnovotny@redhat.com> 1:3.17-9
- fix #565124 - FTBFS quota-3.17-8.fc13: ImplicitDSOLinking
- fix #565124 - FTBFS quota-3.17-8.fc13: ImplicitDSOLinking
* Mon Sep 29 2009 Ondrej Vasik <ovasik@redhat.com> 1:3.17-8
- add buildrequires for quota_nld, enable-netlink to build