summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog1
-rw-r--r--quotasys.c7
2 files changed, 6 insertions, 2 deletions
diff --git a/Changelog b/Changelog
index 6b96cb3..7249e93 100644
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,5 @@
Changes in quota-tools from 3.17 to 4.00-pre2
+* avoid memory corruption of NULL address (Petr Pisar)
* fixup typos in manpages (Michael Meskes)
* added german translation (Michael Bunk)
* added --enable-static-link configure option (Jan Kara)
diff --git a/quotasys.c b/quotasys.c
index 8df5e3b..cce5787 100644
--- a/quotasys.c
+++ b/quotasys.c
@@ -746,9 +746,12 @@ void init_kernel_interface(void)
kernel_qfmt_num = 0;
if (!stat("/proc/fs/xfs/stat", &st))
kernel_qfmt[kernel_qfmt_num++] = 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), NULL, 0, (void *)&dummy) || (errno != EINVAL && errno != ENOSYS))
kernel_qfmt[kernel_qfmt_num++] = 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;