Hello community,

here is the log from the commit of package udisks2.2636 for 
openSUSE:12.3:Update checked in at 2014-03-18 09:02:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/udisks2.2636 (Old)
 and      /work/SRC/openSUSE:12.3:Update/.udisks2.2636.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "udisks2.2636"

Changes:
--------
New Changes file:

--- /dev/null   2014-02-13 01:09:38.344032506 +0100
+++ /work/SRC/openSUSE:12.3:Update/.udisks2.2636.new/udisks2.changes    
2014-03-18 09:02:56.000000000 +0100
@@ -0,0 +1,221 @@
+-------------------------------------------------------------------
+Mon Mar 10 12:48:04 UTC 2014 - [email protected]
+
+- udisks2_local_code_execution_fix_CVE-2014-0004.patch:
+  Fix buffer overflow in mount path parsing. If users have
+  the possibility to create very long mount points, such as with
+  FUSE, they could cause udisksd to crash, or even to run arbitrary
+  code as root with specially crafted mount paths.
+  (bnc#865854, CVE-2014-0004)
+
+-------------------------------------------------------------------
+Sun Mar 17 11:13:06 UTC 2013 - [email protected]
+
+- udisks2-UDISKS_FILESYSTEM_SHARED.patch - backport 
6ae6c19ad981801d08f3f5b59c0301ed3fe8b7b4
+  * provide a way to use /media to mount devices by setting
+    UDISKS_FILESYSTEM_SHARED=1 device property (bnc#809837)
+
+-------------------------------------------------------------------
+Thu Jan 17 07:36:09 UTC 2013 - [email protected]
+
+- Really apply fix_polkit_action_name.diff.
+
+-------------------------------------------------------------------
+Mon Jan 07 13:30:34 UTC 2013 - [email protected]
+
+- Fix name of polkit action (fdo#58629):
+  modify-device-system-other-seat -> modify-device-other-seat
+
+-------------------------------------------------------------------
+Sun Jan  6 21:02:27 UTC 2013 - [email protected]
+
+- Add gptfdisk Requires: sgdisk is called by udisksd to modify the
+  partition tables (bnc#796853).
+
+-------------------------------------------------------------------
+Mon Nov 12 22:22:01 UTC 2012 - [email protected]
+
+- Update to version 2.0.0
+  + configure.ac: raise gudev dependency
+  + Add --disable-man configure option
+  + Update list of recovery/system partitions
+  + Add support for creating exFAT filesystems and changing exFAT
+    labels
+  + Add textual descriptions for IMSM Raid members
+  + Use all-caps for RAID
+  + Only do the isohybrid hack for the first partition
+  + Don't complain about missing /etc/crypttab file
+  + Don't complain about missing /etc/fstab file
+  + Make it work without requiring the kernel to be CONFIG_SWAP=y
+  + Mention the right file when complaing about /proc/swaps
+  + Fix glaringly wrong documentation for Filesystem.Mount()
+  + Move bash completion script into
+    /usr/share/bash-completion/completions
+  + Don't require that users define UDISKS_API_IS_SUBJECT_TO_CHANGE
+  + Remove udisks_daemon_util_on_other_seat() from sections.txt
+  + Add workaround annotation for
+    udisks_client_get_block_for_dev()
+  + Enable large file support
+  + Various doc and tests fixes
+  + Bugs fixed: fdo#51063.
+  + Updated translations.
+- Drop systemd-dynamic-check.diff: fixed upstream.
+- Dropped gnome-common BuildRequires and call to gnome-autogen.sh,
+  as the patch which needed that is dropped.
+
+-------------------------------------------------------------------
+Wed Oct 24 12:16:42 UTC 2012 - [email protected]
+
+- remove the rpmlintrc after adding the privs bnc#779404
+
+-------------------------------------------------------------------
+Wed Oct 17 13:03:06 UTC 2012 - [email protected]
+
+- Fix build with new udev rules directory location.
+
+-------------------------------------------------------------------
+Tue Sep 25 09:19:57 UTC 2012 - [email protected]
+
+- Update to version 1.99.0:
+  + Catch up with latest polkit guidance
+  + Don't require auth for Standby'ing non-system drives on own
+    seat
+  + Mark Realtek rts5229 based card readers as flash drives
+  + Black-list seemingly invalid WWN for SAMSUNG SP1604N hard disks
+  + Ignore non-Linux software on SanDisk Cruzer
+  + Add drive configuration interfaces and configuration files
+  + Add "Linux Filesystem" GPT partition type
+  + Add support for VMWare filesystem types and GPT partition types
+  + Update integration tests.
+  + Bugs fixed:
+    - fdo#51439: udisks should hide lvm PVs
+- Changes from version 1.98.0:
+  + Drive: Refuse to eject drives that appear to be in use
+  + udisksd: work if polkitd is not available
+  + Updated documentations
+  + Bugs fixed:
+    - fdo49842: Unhandled rootfs on bind mount
+- Drop udisks-hide-lvm-raid-partitions.patch: fixed upstream.
+
+-------------------------------------------------------------------
+Tue Sep 25 09:14:34 UTC 2012 - [email protected]
+
+- Update systemd-dynamic-check.diff with patch sent upstream.
+- Add gnome-common BuildRequires and call to gnome-autogen.sh, as
+  needed by the patch now.
+
+-------------------------------------------------------------------
+Tue Jul  3 15:39:33 CEST 2012 - [email protected]
+
+- Add systemd-dynamic-check.diff: add a check of running systemd
+  (bnc#769570)
+
+-------------------------------------------------------------------
+Tue Jun 26 18:18:09 UTC 2012 - [email protected]
+
+- Added udisks-hide-lvm-raid-partitions.patch in order to hide
+  partitions marked as containing LVM and RAID. This is only useful
+  for encrypted partitions (fixes fdo#51439 and bnc#737038).
+
+-------------------------------------------------------------------
+Fri May 11 14:51:00 UTC 2012 - [email protected]
+
+- Update to version 1.97.0:
+  + Several improvements for loop devices
+  + Also check for "target is busy" when checking umount(8) output
+  + UDisksCleanup: Remove stale entries when adding new ones
+  + Add work-around to show FS on CDs/USB sticks created using
+    isohybrid
+  + Several code improvements
+  + Update path to mounted-fs file in documentation
+- Changes from version 1.96.0:
+  + Actually link with libsystemd-login
+- Changes from version 1.95.0:
+  + Add multi-seat support
+  + Add versioning macros
+  + Use libacl library instead of setfacl(1)
+  + Work around missing serial/wwn on VMware hard disks
+  + Add separate polkit actions for ejecting media
+  + Make $(udisks2.device) in authentication messages include the
+    vendor/model
+  + Remove unused .filesystem-unmount-others-shared polkit action
+  + Documentation fixes and improvements
+  + Updated translations
+- Add libacl-devel BuildRequires: it's now really used.
+
+-------------------------------------------------------------------
+Wed Apr 11 09:33:59 UTC 2012 - [email protected]
+
+- Update to version 1.94.0:
+  + Pass --readonly to cryptsetup(8) if device to unlock is
+    read-only
+  + Add udev rules for identifying devices which should not be
+    shown
+  + Fix unmounting large disks when not asked to
+  + Make escaping work properly with non-ASCII UTF-8 strings
+  + Change some D-Bus types from bytestring ('ay') to UTF8 ('s')
+  + Convert some g_warning() uses to udisks_warning()
+  + Improved documentation.
+
+-------------------------------------------------------------------
+Tue Mar  6 09:00:40 UTC 2012 - [email protected]
+
+- Update to version 1.93.0:
+  + Force MediaRemovable to TRUE for e.g. SD cards using the mmc
+    layer
+  + Ensure that whatever we pass as -t to mount(8) is in a
+    whitelist
+  + Ensure that the loop file name we pass to the kernel is always
+    NUL-terminated
+  + Properly escape all device files
+  + Improved documentation.
+- Remove libacl-devel BuildRequires: not needed anymore.
+
+-------------------------------------------------------------------
+Mon Feb 27 12:57:10 UTC 2012 - [email protected]
+
+- Update to version 1.92.0:
+  + client: Fix bit shifts of flags on 32 bit
+  + Avoid using $XDG_RUNTIME_DIR/media for now
+  + Don't free object twice when deleting a loop device
+  + Use /run/media/$USER for mounting
+  + Move to /usr-only setup and get rid of hardcoded paths to /lib
+    and sbin
+- Changes from version 1.91.0:
+  + Install a systemd service file if systemd is used
+  + Ensure PATH is set
+  + Fix use of memset(3)
+  + Use org.freedesktop.UDisks2.* for errors, not
+    org.freedesktop.UDisks.*
+  + For mount options, switch from comment=udisks to x-udisks
+  + Prefer mounting in /run/user/$USER/media instead of /media
+  + With /media and /run on tmfs, switch to temporary store for
+    mounted-fs
+  + Make sure that Drive:SortKey sorts e.g. sdz before sdaa
+  + Do coldplug for block devices twice
+  + Use g_dbus_interface_dup_object() and check return value
+  + Shut up valgrind complaing about LOOP_GET_STATUS64 ioctl
++++ 24 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.udisks2.2636.new/udisks2.changes

New:
----
  fix_polkit_action_name.diff
  udisks-2.0.0.tar.bz2
  udisks2-UDISKS_FILESYSTEM_SHARED.patch
  udisks2.changes
  udisks2.spec
  udisks2_local_code_execution_fix_CVE-2014-0004.patch

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

Other differences:
------------------
++++++ udisks2.spec ++++++
#
# spec file for package udisks2
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d

Name:           udisks2
%define _name   udisks
Version:        2.0.0
Release:        0
Summary:        Disk Management Service, version 2
License:        GPL-2.0+
Group:          System/Daemons
Url:            http://www.freedesktop.org/wiki/Software/udisks
Source:         
http://udisks.freedesktop.org/releases/%{_name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM fix_polkit_action_name.diff [fdo#58629]
Patch0:         fix_polkit_action_name.diff
# PATCH-FIX-UPSTREAM Introduce UDISKS_FILESYSTEM_SHARED=1 to use /media 
[bnc#809837]
Patch1:         udisks2-UDISKS_FILESYSTEM_SHARED.patch
# PATCH-FIX-UPSTREAM udisks2_local_code_execution_fix_CVE-2014-0004.patch 
bnc#865854 CVE-2014-0004 [email protected] -- Fix buffer overflow in 
mount path parsing
Patch2:         udisks2_local_code_execution_fix_CVE-2014-0004.patch
# Needed to build the man pages
BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  gobject-introspection-devel
BuildRequires:  intltool
BuildRequires:  libacl-devel
# For xsltproc
BuildRequires:  xsltproc
BuildRequires:  pkgconfig(gio-unix-2.0) >= 2.31.13
BuildRequires:  pkgconfig(glib-2.0) >= 2.31.13
BuildRequires:  pkgconfig(gudev-1.0) >= 165
BuildRequires:  pkgconfig(libatasmart) >= 0.17
BuildRequires:  pkgconfig(libsystemd-login) >= 44
BuildRequires:  pkgconfig(polkit-agent-1) >= 0.92
BuildRequires:  pkgconfig(polkit-gobject-1) >= 0.92
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(udev)
# sgdisk is called by udisksd to modify the partition tables... thus a needed 
tool.
Requires:       gptfdisk
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}

# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
# an exception will be silently removed with the next version update.

%description
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.

%package -n libudisks2-0
Summary:        UDisks Client Library, version 2
License:        LGPL-2.0+
Group:          System/Libraries
Recommends:     %{name} = %{version}

%description -n libudisks2-0
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.

%package -n typelib-1_0-UDisks-2_0
Summary:        UDisks Client Library, version 2 -- Introspection bindings
License:        LGPL-2.0+
Group:          System/Libraries

%description -n typelib-1_0-UDisks-2_0
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.

This package provides the GObject Introspection bindings for
the UDisks client library.

%package devel
Summary:        Disk Management Service, version 2 -- Development Files
License:        LGPL-2.0+
Group:          Development/Libraries/C and C++
Requires:       libudisks2-0 = %{version}

%description devel
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.

%lang_package
%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1

%build
export V=1
%configure \
  --disable-static
make %{?_smp_mflags}

%install
%make_install
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%find_lang %{name}

%pre
%service_add_pre udisks2.service

%post
%service_add_post udisks2.service

%preun
%service_del_preun udisks2.service

%postun
%service_del_postun udisks2.service

%post -n libudisks2-0 -p /sbin/ldconfig

%postun -n libudisks2-0 -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README
%{_unitdir}/udisks2.service
%{_udevrulesdir}/80-udisks2.rules
%{_sbindir}/umount.udisks2
%{_bindir}/udisksctl
%dir %{_libexecdir}/udisks2
%{_libexecdir}/udisks2/udisksd
%{_datadir}/bash-completion/completions/udisksctl
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.UDisks2.conf
%{_datadir}/dbus-1/system-services/org.freedesktop.UDisks2.service
%{_datadir}/polkit-1/actions/org.freedesktop.udisks2.policy
%{_mandir}/man1/udisksctl.1%{?ext_man}
%{_mandir}/man8/udisks.8%{?ext_man}
%{_mandir}/man8/udisksd.8%{?ext_man}
%attr(0770,root,root) %dir %{_localstatedir}/lib/udisks2

%files -n libudisks2-0
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README
%{_libdir}/libudisks2.so.*

%files -n typelib-1_0-UDisks-2_0
%defattr(-,root,root,-)
%{_libdir}/girepository-1.0/UDisks-2.0.typelib

%files devel
%defattr(-,root,root,-)
%{_includedir}/udisks2/
%{_libdir}/libudisks2.so
%{_libdir}/pkgconfig/udisks2.pc
%{_datadir}/gir-1.0/UDisks-2.0.gir
%doc %{_datadir}/gtk-doc/html/udisks2/

%files lang -f %{name}.lang

%changelog
++++++ fix_polkit_action_name.diff ++++++
diff --git a/src/udiskslinuxpartition.c b/src/udiskslinuxpartition.c
index 9582346..e3ae93f 100644
--- a/src/udiskslinuxpartition.c
+++ b/src/udiskslinuxpartition.c
@@ -269,7 +269,7 @@ handle_set_flags (UDisksPartition        *partition,
     }
   else if (!udisks_daemon_util_on_same_seat (daemon, object, caller_pid))
     {
-      action_id = "org.freedesktop.udisks2.modify-device-system-other-seat";
+      action_id = "org.freedesktop.udisks2.modify-device-other-seat";
     }
 
   if (!udisks_daemon_util_check_authorization_sync (daemon,
@@ -414,7 +414,7 @@ handle_set_name (UDisksPartition        *partition,
     }
   else if (!udisks_daemon_util_on_same_seat (daemon, object, caller_pid))
     {
-      action_id = "org.freedesktop.udisks2.modify-device-system-other-seat";
+      action_id = "org.freedesktop.udisks2.modify-device-other-seat";
     }
 
   if (!udisks_daemon_util_check_authorization_sync (daemon,
@@ -596,7 +596,7 @@ handle_set_type (UDisksPartition        *partition,
     }
   else if (!udisks_daemon_util_on_same_seat (daemon, object, caller_pid))
     {
-      action_id = "org.freedesktop.udisks2.modify-device-system-other-seat";
+      action_id = "org.freedesktop.udisks2.modify-device-other-seat";
     }
 
   if (!udisks_daemon_util_check_authorization_sync (daemon,
@@ -769,7 +769,7 @@ handle_delete (UDisksPartition        *partition,
     }
   else if (!udisks_daemon_util_on_same_seat (daemon, object, caller_pid))
     {
-      action_id = "org.freedesktop.udisks2.modify-device-system-other-seat";
+      action_id = "org.freedesktop.udisks2.modify-device-other-seat";
     }
 
   if (!udisks_daemon_util_check_authorization_sync (daemon,
diff --git a/src/udiskslinuxpartitiontable.c b/src/udiskslinuxpartitiontable.c
index 8f0d3d9..b553625 100644
--- a/src/udiskslinuxpartitiontable.c
+++ b/src/udiskslinuxpartitiontable.c
@@ -336,7 +336,7 @@ handle_create_partition (UDisksPartitionTable   *table,
     }
   else if (!udisks_daemon_util_on_same_seat (daemon, object, caller_pid))
     {
-      action_id = "org.freedesktop.udisks2.modify-device-system-other-seat";
+      action_id = "org.freedesktop.udisks2.modify-device-other-seat";
     }
 
   if (!udisks_daemon_util_check_authorization_sync (daemon,
++++++ udisks2-UDISKS_FILESYSTEM_SHARED.patch ++++++
commit 6ae6c19ad981801d08f3f5b59c0301ed3fe8b7b4
Author: David Zeuthen <[email protected]>
Date:   Sun Feb 17 14:49:21 2013 -0800

    Introduce UDISKS_FILESYSTEM_SHARED=1 to use /media for mounting
    
    A lot of haters been complaining about /run/media/$USER and there are
    a couple of setups where it's awkward to use /etc/fstab entries and
    just easier to write a short udev rule.
    
    Signed-off-by: David Zeuthen <[email protected]>

Index: udisks-2.0.0/doc/man/udisks.xml
===================================================================
--- udisks-2.0.0.orig/doc/man/udisks.xml
+++ udisks-2.0.0/doc/man/udisks.xml
@@ -218,6 +218,14 @@
         </listitem>
       </varlistentry>
       <varlistentry>
+        <term><option>UDISKS_FILESYSTEM_SHARED</option></term>
+        <listitem>
+          <para>
+            If set to 1, the filesystem on the device will be mounted in a 
shared directory (e.g. <filename 
class='directory'>/media/VolumeName</filename>) instead of a private directory 
(e.g. <filename class='directory'>/run/media/$USER/VolumeName</filename>) when 
the <link 
linkend="gdbus-method-org-freedesktop-UDisks2-Filesystem.Mount">Filesystem.Mount()</link>
 method is handled.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
         <term><option>ID_SEAT</option></term>
         <listitem>
           <para>
Index: udisks-2.0.0/src/udiskslinuxfilesystem.c
===================================================================
--- udisks-2.0.0.orig/src/udiskslinuxfilesystem.c
+++ udisks-2.0.0/src/udiskslinuxfilesystem.c
@@ -840,6 +840,8 @@ calculate_mount_point (UDisksDaemon
                        const gchar               *fs_type,
                        GError                   **error)
 {
+  UDisksLinuxBlockObject *object = NULL;
+  gboolean fs_shared = FALSE;
   const gchar *label = NULL;
   const gchar *uuid = NULL;
   gchar *escaped_user_name = NULL;
@@ -858,10 +860,22 @@ calculate_mount_point (UDisksDaemon
       uuid = udisks_block_get_id_uuid (block);
     }
 
+  object = udisks_daemon_util_dup_object (block, NULL);
+  if (object != NULL)
+    {
+      GUdevDevice *device = udisks_linux_block_object_get_device 
(UDISKS_LINUX_BLOCK_OBJECT (object));
+      if (device != NULL)
+        {
+         /* TODO: maybe introduce Block:HintFilesystemShared instead of 
pulling it directly from the udev device */
+         fs_shared = g_udev_device_get_property_as_boolean (device, 
"UDISKS_FILESYSTEM_SHARED");
+          g_object_unref (device);
+        }
+    }
+
   /* If we know the user-name and it doesn't have any '/' character in
    * it, mount in /run/media/$USER
    */
-  if (user_name != NULL && strstr (user_name, "/") == NULL)
+  if (!fs_shared && (user_name != NULL && strstr (user_name, "/") == NULL))
     {
       mount_dir = g_strdup_printf ("/run/media/%s", user_name);
       if (!g_file_test (mount_dir, G_FILE_TEST_EXISTS))
@@ -962,6 +976,7 @@ calculate_mount_point (UDisksDaemon
   g_free (mount_dir);
 
  out:
+  g_clear_object (&object);
   g_free (escaped_user_name);
   return mount_point;
 }
++++++ udisks2_local_code_execution_fix_CVE-2014-0004.patch ++++++
commit 24496747b648d1a7bd0d6da1ef3759f035ba1cd6
Author: Martin Pitt <[email protected]>
Date:   Wed Mar 5 13:47:15 2014 +0100

    Fix buffer overflow in mount path parsing
    
    In the mount monitor we parse mount points from /proc/self/mountinfo and
    /proc/swaps. Ensure that we don't overflow the buffers on platforms where 
mount
    paths could be longer than PATH_MAX (unknown if that can actually happen), 
as
    at least the mount paths for hotpluggable devices are somewhat 
user-controlled.
    
    Thanks to Florian Weimer for discovering this bug, and to David Zeuthen
    for his initial patch!
    
    CVE-2014-0004

Index: udisks-2.0.0/src/udisksmountmonitor.c
===================================================================
--- udisks-2.0.0.orig/src/udisksmountmonitor.c  2012-09-27 19:16:26.000000000 
+0200
+++ udisks-2.0.0/src/udisksmountmonitor.c       2014-03-10 13:46:50.621437932 
+0100
@@ -38,6 +38,11 @@
 #include "udisksmount.h"
 #include "udisksprivate.h"
 
+/* build a %Ns format string macro with N == PATH_MAX */
+#define xstr(s) str(s)
+#define str(s) #s
+#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s"
+
 /**
  * SECTION:udisksmountmonitor
  * @title: UDisksMountMonitor
@@ -416,8 +421,8 @@ udisks_mount_monitor_get_mountinfo (UDis
       guint mount_id;
       guint parent_id;
       guint major, minor;
-      gchar encoded_root[PATH_MAX];
-      gchar encoded_mount_point[PATH_MAX];
+      gchar encoded_root[PATH_MAX + 1];
+      gchar encoded_mount_point[PATH_MAX + 1];
       gchar *mount_point;
       dev_t dev;
 
@@ -425,7 +430,7 @@ udisks_mount_monitor_get_mountinfo (UDis
         continue;
 
       if (sscanf (lines[n],
-                  "%d %d %d:%d %s %s",
+                  "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT,
                   &mount_id,
                   &parent_id,
                   &major,
@@ -436,6 +441,8 @@ udisks_mount_monitor_get_mountinfo (UDis
           udisks_warning ("Error parsing line '%s'", lines[n]);
           continue;
         }
+      encoded_root[sizeof encoded_root - 1] = '\0';
+      encoded_mount_point[sizeof encoded_mount_point - 1] = '\0';
 
       /* Temporary work-around for btrfs, see
        *
@@ -450,15 +457,17 @@ udisks_mount_monitor_get_mountinfo (UDis
           sep = strstr (lines[n], " - ");
           if (sep != NULL)
             {
-              gchar fstype[PATH_MAX];
-              gchar mount_source[PATH_MAX];
+              gchar fstype[PATH_MAX + 1];
+              gchar mount_source[PATH_MAX + 1];
               struct stat statbuf;
 
-              if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2)
+              if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, 
mount_source) != 2)
                 {
                   udisks_warning ("Error parsing things past - for '%s'", 
lines[n]);
                   continue;
                 }
+              fstype[sizeof fstype - 1] = '\0';
+              mount_source[sizeof mount_source - 1] = '\0';
 
               if (g_strcmp0 (fstype, "btrfs") != 0)
                 continue;
@@ -546,7 +555,7 @@ udisks_mount_monitor_get_swaps (UDisksMo
   lines = g_strsplit (contents, "\n", 0);
   for (n = 0; lines[n] != NULL; n++)
     {
-      gchar filename[PATH_MAX];
+      gchar filename[PATH_MAX + 1];
       struct stat statbuf;
       dev_t dev;
 
@@ -557,11 +566,12 @@ udisks_mount_monitor_get_swaps (UDisksMo
       if (strlen (lines[n]) == 0)
         continue;
 
-      if (sscanf (lines[n], "%s", filename) != 1)
+      if (sscanf (lines[n], PATH_MAX_FMT, filename) != 1)
         {
           udisks_warning ("Error parsing line '%s'", lines[n]);
           continue;
         }
+      filename[sizeof filename - 1] = '\0';
 
       if (stat (filename, &statbuf) != 0)
         {
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to