Hello community,

here is the log from the commit of package fsarchiver for openSUSE:Factory 
checked in at 2016-07-14 09:50:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fsarchiver (Old)
 and      /work/SRC/openSUSE:Factory/.fsarchiver.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fsarchiver"

Changes:
--------
--- /work/SRC/openSUSE:Factory/fsarchiver/fsarchiver.changes    2016-02-23 
16:59:44.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fsarchiver.new/fsarchiver.changes       
2016-07-14 09:50:12.000000000 +0200
@@ -1,0 +2,13 @@
+Tue Jul  5 17:55:38 UTC 2016 - [email protected]
+
+- Update to 0.6.23.
+  * Added micro-seconds to timestamp used in the name of the
+    temporary directory.
+  * Fixed memory leaks on failure scenarios and protect against
+    buffer overflows in scanf.
+  * Fixed possible failure to restore ext4 filesystems when mkfs
+    running in interactive mode.
+  * Fixed compilation errors with the musl libc.
+- Refresh fsarchiver-attr.patch.
+
+-------------------------------------------------------------------

Old:
----
  fsarchiver-0.6.22.tar.gz

New:
----
  fsarchiver-0.6.23.tar.gz

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

Other differences:
------------------
++++++ fsarchiver.spec ++++++
--- /var/tmp/diff_new_pack.4hOIOW/_old  2016-07-14 09:50:13.000000000 +0200
+++ /var/tmp/diff_new_pack.4hOIOW/_new  2016-07-14 09:50:13.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           fsarchiver
-Version:        0.6.22
+Version:        0.6.23
 Release:        0
 Summary:        Filesystem Archiver
 License:        GPL-2.0

++++++ fsarchiver-0.6.22.tar.gz -> fsarchiver-0.6.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/ChangeLog 
new/fsarchiver-0.6.23/ChangeLog
--- old/fsarchiver-0.6.22/ChangeLog     2016-02-13 17:17:51.000000000 +0100
+++ new/fsarchiver-0.6.23/ChangeLog     2016-06-16 20:52:20.000000000 +0200
@@ -1,5 +1,10 @@
 fsarchiver: Filesystem Archiver for Linux [http://www.fsarchiver.org]
 =====================================================================
+* 0.6.23 (2016-06-16):
+  - Added micro-seconds to timestamp used in the name of the temporary 
directory
+  - Fixed memory leaks on failure scenarios and protect against buffer 
overflows in scanf
+  - Fixed possible failure to restore ext4 filesystems when mkfs running in 
interactive mode
+  - Fixed compilation errors with the musl libc
 * 0.6.22 (2016-02-13):
   - Test support for extended attributes and ACLs instead of checking mount 
options
 * 0.6.21 (2016-01-07):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/aclocal.m4 
new/fsarchiver-0.6.23/aclocal.m4
--- old/fsarchiver-0.6.22/aclocal.m4    2016-02-13 17:19:45.000000000 +0100
+++ new/fsarchiver-0.6.23/aclocal.m4    2016-06-16 20:53:18.000000000 +0200
@@ -21,7 +21,7 @@
 To do so, use the procedure documented by the package, typically 
'autoreconf'.])])
 
 dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29)
+dnl serial 11 (pkg-config-0.29.1)
 dnl
 dnl Copyright © 2004 Scott James Remnant <[email protected]>.
 dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
@@ -63,7 +63,7 @@
 dnl See the "Since" comment for each macro you use to see what version
 dnl of the macros you require.
 m4_defun([PKG_PREREQ],
-[m4_define([PKG_MACROS_VERSION], [0.29])
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
 m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
     [m4_fatal([pkg.m4 version $1 or higher is required but 
]PKG_MACROS_VERSION[ found])])
 ])dnl PKG_PREREQ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/configure 
new/fsarchiver-0.6.23/configure
--- old/fsarchiver-0.6.22/configure     2016-02-13 17:19:46.000000000 +0100
+++ new/fsarchiver-0.6.23/configure     2016-06-16 20:53:19.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for fsarchiver 0.6.22.
+# Generated by GNU Autoconf 2.69 for fsarchiver 0.6.23.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
 # Identity of this package.
 PACKAGE_NAME='fsarchiver'
 PACKAGE_TARNAME='fsarchiver'
-PACKAGE_VERSION='0.6.22'
-PACKAGE_STRING='fsarchiver 0.6.22'
+PACKAGE_VERSION='0.6.23'
+PACKAGE_STRING='fsarchiver 0.6.23'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1314,7 +1314,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures fsarchiver 0.6.22 to adapt to many kinds of systems.
+\`configure' configures fsarchiver 0.6.23 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1385,7 +1385,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of fsarchiver 0.6.22:";;
+     short | recursive ) echo "Configuration of fsarchiver 0.6.23:";;
    esac
   cat <<\_ACEOF
 
@@ -1510,7 +1510,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-fsarchiver configure 0.6.22
+fsarchiver configure 0.6.23
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1875,7 +1875,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by fsarchiver $as_me 0.6.22, which was
+It was created by fsarchiver $as_me 0.6.23, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2224,7 +2224,7 @@
 
 
 
-$as_echo "#define PACKAGE_RELDATE \"2016-02-13\"" >>confdefs.h
+$as_echo "#define PACKAGE_RELDATE \"2016-06-16\"" >>confdefs.h
 
 
 $as_echo "#define PACKAGE_FILEFMT \"FsArCh_002\"" >>confdefs.h
@@ -2236,7 +2236,7 @@
 $as_echo "#define PACKAGE_VERSION_B 6" >>confdefs.h
 
 
-$as_echo "#define PACKAGE_VERSION_C 22" >>confdefs.h
+$as_echo "#define PACKAGE_VERSION_C 23" >>confdefs.h
 
 
 $as_echo "#define PACKAGE_VERSION_D 0" >>confdefs.h
@@ -2867,7 +2867,7 @@
 
 # Define the identity of the package.
  PACKAGE='fsarchiver'
- VERSION='0.6.22'
+ VERSION='0.6.23'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -7167,7 +7167,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by fsarchiver $as_me 0.6.22, which was
+This file was extended by fsarchiver $as_me 0.6.23, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7233,7 +7233,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-fsarchiver config.status 0.6.22
+fsarchiver config.status 0.6.23
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/configure.ac 
new/fsarchiver-0.6.23/configure.ac
--- old/fsarchiver-0.6.22/configure.ac  2016-02-13 17:19:36.000000000 +0100
+++ new/fsarchiver-0.6.23/configure.ac  2016-06-16 20:52:45.000000000 +0200
@@ -3,12 +3,12 @@
 
 AC_PREREQ(2.59)
 
-AC_INIT([fsarchiver], 0.6.22)
-AC_DEFINE([PACKAGE_RELDATE], "2016-02-13", [Define the date of the release])
+AC_INIT([fsarchiver], 0.6.23)
+AC_DEFINE([PACKAGE_RELDATE], "2016-06-16", [Define the date of the release])
 AC_DEFINE([PACKAGE_FILEFMT], "FsArCh_002", [Define the version of the file 
format])
 AC_DEFINE([PACKAGE_VERSION_A], 0, [Major version number])
 AC_DEFINE([PACKAGE_VERSION_B], 6, [Medium version number])
-AC_DEFINE([PACKAGE_VERSION_C], 22, [Minor version number])
+AC_DEFINE([PACKAGE_VERSION_C], 23, [Minor version number])
 AC_DEFINE([PACKAGE_VERSION_D], 0, [Patch version number])
 
 AC_CANONICAL_HOST([])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/distrib/rpm/fsarchiver.spec 
new/fsarchiver-0.6.23/distrib/rpm/fsarchiver.spec
--- old/fsarchiver-0.6.22/distrib/rpm/fsarchiver.spec   2016-02-13 
17:19:36.000000000 +0100
+++ new/fsarchiver-0.6.23/distrib/rpm/fsarchiver.spec   2016-06-14 
20:51:22.000000000 +0200
@@ -1,5 +1,5 @@
 Name:          fsarchiver
-Version:       0.6.22
+Version:       0.6.23
 Release:       1%{?dist}
 Summary:       Safe and flexible file-system backup/deployment tool
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/doc/fsarchiver.8 
new/fsarchiver-0.6.23/doc/fsarchiver.8
--- old/fsarchiver-0.6.22/doc/fsarchiver.8      2016-01-03 23:21:02.000000000 
+0100
+++ new/fsarchiver-0.6.23/doc/fsarchiver.8      2016-06-14 20:51:22.000000000 
+0200
@@ -116,7 +116,7 @@
 The details will be written in /var/log/fsarchiver.log.
 .IP "\fB\-A, \-\-allow-rw-mounted\fP"
 Allow to save a filesystem which is mounted in read-write (live backup).
-By default fsarchiver fails with an error if the partition if mounted 
+By default fsarchiver fails with an error if the partition is mounted 
 in read-write mode which allows modifications to be done on the filesystem
 during the backup. Modifications can drive to inconsistencies in the backup.
 Using lvm snapshots is the recommended way to make backups since it will
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/common.c 
new/fsarchiver-0.6.23/src/common.c
--- old/fsarchiver-0.6.22/src/common.c  2016-01-07 20:09:39.000000000 +0100
+++ new/fsarchiver-0.6.23/src/common.c  2016-06-14 20:51:22.000000000 +0200
@@ -29,10 +29,14 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <stdlib.h>
-#include <execinfo.h>
 #include <wordexp.h>
 #include <fnmatch.h>
 #include <time.h>
+#include <limits.h>
+
+#ifdef HAVE_EXECINFO_H
+#include <execinfo.h>
+#endif
 
 #include "fsarchiver.h"
 #include "syncthread.h"
@@ -420,9 +424,9 @@
     abstime=tv.tv_sec;
         localtime_r(&abstime, &tbreak);
     
-    snprintf(buffer, bufsize, "/tmp/fsa/%.4d%.2d%.2d-%.2d%.2d%.2d-%.2d",
+    snprintf(buffer, bufsize, "/tmp/fsa/%.4d%.2d%.2d-%.2d%.2d%.2d-%.8x-%.2d",
         tbreak.tm_year+1900, tbreak.tm_mon+1, tbreak.tm_mday,
-         tbreak.tm_hour, tbreak.tm_min, tbreak.tm_sec, n);
+         tbreak.tm_hour, tbreak.tm_min, tbreak.tm_sec, (u32)tv.tv_usec, n);
     return 0;
 }
 
@@ -549,6 +553,7 @@
 
 int format_stacktrace(char *buffer, int bufsize)
 {
+#ifdef HAVE_EXECINFO_H
     const int stack_depth=20;
     void *temp[stack_depth];
     char **strings;
@@ -565,6 +570,7 @@
             strlcatf(buffer, bufsize, "%s\n", strings[i]);
         free(strings);
     }
+#endif
     
     return 0;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/devinfo.c 
new/fsarchiver-0.6.23/src/devinfo.c
--- old/fsarchiver-0.6.22/src/devinfo.c 2016-01-07 20:09:39.000000000 +0100
+++ new/fsarchiver-0.6.23/src/devinfo.c 2016-06-14 20:51:22.000000000 +0200
@@ -28,6 +28,7 @@
 #include <fcntl.h>
 #include <dirent.h>
 #include <blkid.h>
+#include <limits.h>
 
 #include "fsarchiver.h"
 #include "devinfo.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/fs_ext2.c 
new/fsarchiver-0.6.23/src/fs_ext2.c
--- old/fsarchiver-0.6.22/src/fs_ext2.c 2016-01-15 09:35:45.000000000 +0100
+++ new/fsarchiver-0.6.23/src/fs_ext2.c 2016-06-14 20:56:06.000000000 +0200
@@ -176,6 +176,9 @@
     // "mke2fs -q" prevents problems in exec_command when too many output 
details printed
     strlcatf(options, sizeof(options), " -q ");
     
+    // "mke2fs -F" removes confirmation prompt when device is a whole disk 
such as /dev/sda
+    strlcatf(options, sizeof(options), " -F ");
+
     // filesystem revision: good-old-rev or dynamic
     strlcatf(options, sizeof(options), " -r %d ", (int)fsextrevision);
 
@@ -547,7 +550,7 @@
     }
     
     x=y=z=0;
-    sscanf(result, "%s %d.%d.%d", temp1, &x, &y, &z);
+    sscanf(result, "%1023s %d.%d.%d", temp1, &x, &y, &z);
     
     if (x==0 && y==0)
     {   errprintf("can't parse %s version number: x=y=0\n", prog);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/fs_xfs.c 
new/fsarchiver-0.6.23/src/fs_xfs.c
--- old/fsarchiver-0.6.22/src/fs_xfs.c  2016-01-10 10:56:09.000000000 +0100
+++ new/fsarchiver-0.6.23/src/fs_xfs.c  2016-06-14 20:54:27.000000000 +0200
@@ -121,11 +121,10 @@
     if (xfs_check_compatibility(sb_features_compat, sb_features_ro_compat, 
sb_features_incompat, sb_features_log_incompat)!=0)
         return -1;
 
-    // Preserve version 4 of XFS if the original filesystem was an XFS v4 or if
-    // the original filesystem was saved with fsarchiver <= 0.6.19 which does
-    // not store the XFS version in the metadata: make an XFSv4 if unsure for
-    // better compatibility and as upgrading later is easier than downgrading
-    // if the user gets an XFSv4 and wanted an XFSv5
+    // Preserve version 4 of XFS if the original filesystem was an XFSv4 or if
+    // it was saved with fsarchiver <= 0.6.19 which does not store the XFS
+    // version in the metadata: make an XFSv4 if unsure for better 
compatibility,
+    // as upgrading later is easier than downgrading
     if ((dico_get_u64(d, 0, FSYSHEADKEY_FSXFSVERSION, &temp64)!=0) || 
(temp64==XFS_SB_VERSION_4))
         xfsver = XFS_SB_VERSION_4;
     else
@@ -134,8 +133,8 @@
     // Unfortunately it is impossible to preserve the UUID (stamped on every
     // metadata block) of an XFSv5 filesystem with mkfs.xfs < 4.3.0.
     // Restoring with a new random UUID would work but could prevent the system
-    // from booting if this is a boot/root filesystem and grub/fstab often use
-    // the UUID to identify it. Hence it is much safer to restore it as an
+    // from booting if this is a boot/root filesystem because grub/fstab often
+    // use the UUID to identify it. Hence it is much safer to restore it as an
     // XFSv4 and it also provides a better compatibility with older kernels.
     // Hence this is the safest option.
     // More details: https://github.com/fdupoux/fsarchiver/issues/4
@@ -162,9 +161,9 @@
     }
 
     // Determine if the "finobt" mkfs option should be enabled (free inode 
btree)
-    // - starting Linux 3.16 XFS has added a btree that tracks free inodes
+    // - starting with linux-3.16 XFS has added a btree that tracks free inodes
     // - this feature relies on the new v5 on-disk format but it is optional
-    // - this feature enabled by default when using xfsprogs 3.2.3 or later
+    // - this feature is enabled by default when using xfsprogs 3.2.3 or later
     // - this feature will be enabled if the original filesystem was XFSv5 and 
had it
     if (xfstoolsver >= PROGVER(3,2,1)) // only use "finobt" option when it is 
supported by mkfs
     {
@@ -197,7 +196,7 @@
     //   disable ftype for V4 volumes to keep them compatible with older 
kernels
     if (xfstoolsver >= PROGVER(3,2,0)) // only use "ftype" option when it is 
supported by mkfs
     {
-        // crc is already set to 1 when it is XFSv5 hence do not set ftype=1 
with XFSv5
+        // ftype is already set to 1 when it is XFSv5
         if (xfsver==XFS_SB_VERSION_4)
             strlcatf(mkfsopts, sizeof(mkfsopts), " -n ftype=0 ");
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/fs_xfs.h 
new/fsarchiver-0.6.23/src/fs_xfs.h
--- old/fsarchiver-0.6.22/src/fs_xfs.h  2016-01-07 20:09:39.000000000 +0100
+++ new/fsarchiver-0.6.23/src/fs_xfs.h  2016-06-14 20:51:22.000000000 +0200
@@ -55,34 +55,34 @@
 int xfs_test(char *devname);
 int xfs_check_compatibility(u64 compat, u64 ro_compat, u64 incompat, u64 
log_incompat);
 
-typedef __uint32_t      xfs_agblock_t;  /* blockno in alloc. group */
-typedef __uint32_t      xfs_extlen_t;   /* extent length in blocks */
-typedef __uint32_t      xfs_agnumber_t; /* allocation group number */
-typedef __int32_t       xfs_extnum_t;   /* # of extents in a file */
-typedef __int16_t       xfs_aextnum_t;  /* # extents in an attribute fork */
-typedef __int64_t       xfs_fsize_t;    /* bytes in a file */
-typedef __uint64_t      xfs_ufsize_t;   /* unsigned bytes in a file */
+typedef uint32_t      xfs_agblock_t;  /* blockno in alloc. group */
+typedef uint32_t      xfs_extlen_t;   /* extent length in blocks */
+typedef uint32_t      xfs_agnumber_t; /* allocation group number */
+typedef int32_t       xfs_extnum_t;   /* # of extents in a file */
+typedef int16_t       xfs_aextnum_t;  /* # extents in an attribute fork */
+typedef int64_t       xfs_fsize_t;    /* bytes in a file */
+typedef uint64_t      xfs_ufsize_t;   /* unsigned bytes in a file */
 
-typedef __int32_t       xfs_suminfo_t;  /* type of bitmap summary info */
-typedef __int32_t       xfs_rtword_t;   /* word type for bitmap manipulations 
*/
+typedef int32_t       xfs_suminfo_t;  /* type of bitmap summary info */
+typedef int32_t       xfs_rtword_t;   /* word type for bitmap manipulations */
  
-typedef __int64_t       xfs_lsn_t;      /* log sequence number */
-typedef __int32_t       xfs_tid_t;      /* transaction identifier */
+typedef int64_t       xfs_lsn_t;      /* log sequence number */
+typedef int32_t       xfs_tid_t;      /* transaction identifier */
 
-typedef __uint32_t      xfs_dablk_t;    /* dir/attr block number (in file) */
-typedef __uint32_t      xfs_dahash_t;   /* dir/attr hash value */
+typedef uint32_t      xfs_dablk_t;    /* dir/attr block number (in file) */
+typedef uint32_t      xfs_dahash_t;   /* dir/attr hash value */
 
-typedef __uint16_t      xfs_prid_t;     /* prid_t truncated to 16bits in XFS */
+typedef uint16_t      xfs_prid_t;     /* prid_t truncated to 16bits in XFS */
 
 /*
  * These types are 64 bits on disk but are either 32 or 64 bits in memory.
  * Disk based types:
  */
-typedef __uint64_t      xfs_fsblock_t;  /* blockno in filesystem (agno|agbno) 
*/
-typedef __uint64_t      xfs_rfsblock_t; /* blockno in filesystem (raw) */
-typedef __uint64_t      xfs_rtblock_t;  /* extent (block) in realtime area */
-typedef __uint64_t      xfs_dfiloff_t;  /* block number in a file */
-typedef __uint64_t      xfs_dfilblks_t; /* number of blocks in a file */
+typedef uint64_t      xfs_fsblock_t;  /* blockno in filesystem (agno|agbno) */
+typedef uint64_t      xfs_rfsblock_t; /* blockno in filesystem (raw) */
+typedef uint64_t      xfs_rtblock_t;  /* extent (block) in realtime area */
+typedef uint64_t      xfs_dfiloff_t;  /* block number in a file */
+typedef uint64_t      xfs_dfilblks_t; /* number of blocks in a file */
 
 typedef __s64           xfs_off_t;      /* <file offset> type */
 typedef __u64           xfs_ino_t;      /* <inode> type */
@@ -97,8 +97,8 @@
  */
 struct xfs_sb
 {
-        __uint32_t      sb_magicnum;    /* magic number == XFS_SB_MAGIC */
-        __uint32_t      sb_blocksize;   /* logical block size, bytes */
+        uint32_t      sb_magicnum;    /* magic number == XFS_SB_MAGIC */
+        uint32_t      sb_blocksize;   /* logical block size, bytes */
         xfs_rfsblock_t  sb_dblocks;     /* number of data blocks */
         xfs_rfsblock_t  sb_rblocks;     /* number of realtime blocks */
         xfs_rtblock_t   sb_rextents;    /* number of realtime extents */
@@ -112,45 +112,45 @@
         xfs_agnumber_t  sb_agcount;     /* number of allocation groups */
         xfs_extlen_t    sb_rbmblocks;   /* number of rt bitmap blocks */
         xfs_extlen_t    sb_logblocks;   /* number of log blocks */
-        __uint16_t      sb_versionnum;  /* header version == XFS_SB_VERSION */
-        __uint16_t      sb_sectsize;    /* volume sector size, bytes */
-        __uint16_t      sb_inodesize;   /* inode size, bytes */
-        __uint16_t      sb_inopblock;   /* inodes per block */
+        uint16_t      sb_versionnum;  /* header version == XFS_SB_VERSION */
+        uint16_t      sb_sectsize;    /* volume sector size, bytes */
+        uint16_t      sb_inodesize;   /* inode size, bytes */
+        uint16_t      sb_inopblock;   /* inodes per block */
         char            sb_fname[12];   /* file system name */
-        __uint8_t       sb_blocklog;    /* log2 of sb_blocksize */
-        __uint8_t       sb_sectlog;     /* log2 of sb_sectsize */
-        __uint8_t       sb_inodelog;    /* log2 of sb_inodesize */
-        __uint8_t       sb_inopblog;    /* log2 of sb_inopblock */
-        __uint8_t       sb_agblklog;    /* log2 of sb_agblocks (rounded up) */
-        __uint8_t       sb_rextslog;    /* log2 of sb_rextents */
-        __uint8_t       sb_inprogress;  /* mkfs is in progress, don't mount */
-        __uint8_t       sb_imax_pct;    /* max % of fs for inode space */
+        uint8_t       sb_blocklog;    /* log2 of sb_blocksize */
+        uint8_t       sb_sectlog;     /* log2 of sb_sectsize */
+        uint8_t       sb_inodelog;    /* log2 of sb_inodesize */
+        uint8_t       sb_inopblog;    /* log2 of sb_inopblock */
+        uint8_t       sb_agblklog;    /* log2 of sb_agblocks (rounded up) */
+        uint8_t       sb_rextslog;    /* log2 of sb_rextents */
+        uint8_t       sb_inprogress;  /* mkfs is in progress, don't mount */
+        uint8_t       sb_imax_pct;    /* max % of fs for inode space */
                                         /* statistics */
         /*
          * These fields must remain contiguous.  If you really
          * want to change their layout, make sure you fix the
          * code in xfs_trans_apply_sb_deltas().
          */
-        __uint64_t      sb_icount;      /* allocated inodes */
-        __uint64_t      sb_ifree;       /* free inodes */
-        __uint64_t      sb_fdblocks;    /* free data blocks */
-        __uint64_t      sb_frextents;   /* free realtime extents */
+        uint64_t      sb_icount;      /* allocated inodes */
+        uint64_t      sb_ifree;       /* free inodes */
+        uint64_t      sb_fdblocks;    /* free data blocks */
+        uint64_t      sb_frextents;   /* free realtime extents */
         /*
          * End contiguous fields.
          */
         xfs_ino_t       sb_uquotino;    /* user quota inode */
         xfs_ino_t       sb_gquotino;    /* group quota inode */
-        __uint16_t      sb_qflags;      /* quota flags */
-        __uint8_t       sb_flags;       /* misc. flags */
-        __uint8_t       sb_shared_vn;   /* shared version number */
+        uint16_t      sb_qflags;      /* quota flags */
+        uint8_t       sb_flags;       /* misc. flags */
+        uint8_t       sb_shared_vn;   /* shared version number */
         xfs_extlen_t    sb_inoalignmt;  /* inode chunk alignment, fsblocks */
-        __uint32_t      sb_unit;        /* stripe or raid unit */
-        __uint32_t      sb_width;       /* stripe or raid width */
-        __uint8_t       sb_dirblklog;   /* log2 of dir block size (fsbs) */
-        __uint8_t       sb_logsectlog;  /* log2 of the log sector size */
-        __uint16_t      sb_logsectsize; /* sector size for the log, bytes */
-        __uint32_t      sb_logsunit;    /* stripe unit size for the log */
-        __uint32_t      sb_features2;   /* additional feature bits */
+        uint32_t      sb_unit;        /* stripe or raid unit */
+        uint32_t      sb_width;       /* stripe or raid width */
+        uint8_t       sb_dirblklog;   /* log2 of dir block size (fsbs) */
+        uint8_t       sb_logsectlog;  /* log2 of the log sector size */
+        uint16_t      sb_logsectsize; /* sector size for the log, bytes */
+        uint32_t      sb_logsunit;    /* stripe unit size for the log */
+        uint32_t      sb_features2;   /* additional feature bits */
 
         /*
          * bad features2 field as a result of failing to pad the sb structure 
to
@@ -161,17 +161,17 @@
          * the value in sb_features2 when formatting the incore superblock to
          * the disk buffer.
          */
-        __uint32_t      sb_bad_features2;
+        uint32_t      sb_bad_features2;
 
         /* version 5 superblock fields start here */
 
         /* feature masks */
-        __uint32_t      sb_features_compat;
-        __uint32_t      sb_features_ro_compat;
-        __uint32_t      sb_features_incompat;
-        __uint32_t      sb_features_log_incompat;
+        uint32_t      sb_features_compat;
+        uint32_t      sb_features_ro_compat;
+        uint32_t      sb_features_incompat;
+        uint32_t      sb_features_log_incompat;
 
-        __uint32_t      sb_crc;         /* superblock crc */
+        uint32_t      sb_crc;         /* superblock crc */
         xfs_extlen_t    sb_spino_align; /* sparse inode chunk alignment */
 
         xfs_ino_t       sb_pquotino;    /* project quota inode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/oper_save.c 
new/fsarchiver-0.6.23/src/oper_save.c
--- old/fsarchiver-0.6.22/src/oper_save.c       2016-01-10 11:07:13.000000000 
+0100
+++ new/fsarchiver-0.6.23/src/oper_save.c       2016-06-14 20:51:22.000000000 
+0200
@@ -26,6 +26,7 @@
 #include <stdlib.h>
 #include <sys/time.h>
 #include <sys/mount.h>
+#include <sys/param.h>
 #include <sys/statvfs.h>
 #include <sys/stat.h>
 #include <attr/xattr.h>
@@ -540,7 +541,7 @@
             }
             if (*objtype==OBJTYPE_REGFILEUNIQUE || 
*objtype==OBJTYPE_REGFILEMULTI)
             {
-                if (((u64)statbuf->st_blocks) * ((u64)S_BLKSIZE) < 
((u64)statbuf->st_size))
+                if (((u64)statbuf->st_blocks) * ((u64)DEV_BSIZE) < 
((u64)statbuf->st_size))
                     flags|=FSA_FILEFLAGS_SPARSE;
             }
             break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/queue.c 
new/fsarchiver-0.6.23/src/queue.c
--- old/fsarchiver-0.6.22/src/queue.c   2016-01-07 20:09:39.000000000 +0100
+++ new/fsarchiver-0.6.23/src/queue.c   2016-06-14 20:56:06.000000000 +0200
@@ -211,7 +211,8 @@
     
     // does not make sense to add item on a queue where endofqueue is true
     if (q->endofqueue==true)
-    {   assert(pthread_mutex_unlock(&q->mutex)==0);
+    {   free (item);
+        assert(pthread_mutex_unlock(&q->mutex)==0);
         return FSAERR_ENDOFFILE;
     }
     
@@ -227,7 +228,8 @@
         q->head=item;
     }
     else // list not empty: add items at the end
-    {   for (cur=q->head; (cur!=NULL) && (cur->next!=NULL); cur=cur->next);
+    {
+        for (cur=q->head; (cur!=NULL) && (cur->next!=NULL); cur=cur->next);
         cur->next=item;
     }
     
@@ -284,7 +286,8 @@
     
     // does not make sense to add item on a queue where endofqueue is true
     if (q->endofqueue==true)
-    {   assert(pthread_mutex_unlock(&q->mutex)==0);
+    {   free(item);
+        assert(pthread_mutex_unlock(&q->mutex)==0);
         return FSAERR_ENDOFFILE;
     }
     
@@ -301,7 +304,8 @@
         q->head=item;
     }
     else // list not empty
-    {   for (cur=q->head; (cur!=NULL) && (cur->next!=NULL); cur=cur->next);
+    {
+        for (cur=q->head; (cur!=NULL) && (cur->next!=NULL); cur=cur->next);
         cur->next=item;
     }
     
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/strdico.c 
new/fsarchiver-0.6.23/src/strdico.c
--- old/fsarchiver-0.6.22/src/strdico.c 2016-01-07 20:09:39.000000000 +0100
+++ new/fsarchiver-0.6.23/src/strdico.c 2016-06-14 20:56:06.000000000 +0200
@@ -133,8 +133,9 @@
         }
         
         if ((res=strdico_set_value(d, key, value))!=0)
+        {   free(bakdefs);
             return res;
-        
+        }
         result=strtok_r(NULL, delims, &saveptr);
     }
     
@@ -215,11 +216,13 @@
     memset(lnew, 0, sizeof(cstrdicoitem));
     if ((lnew->key=malloc(keylen+1))==NULL)
     {   errprintf("malloc(%d) failed: out of memory\n", keylen+1);
+        free(lnew);
         return -FSAERR_ENOMEM;
     }
     snprintf(lnew->key, keylen+1, "%s", key);
     if ((lnew->value=malloc(vallen+1))==NULL)
     {   errprintf("malloc(%d) failed: out of memory\n", vallen+1);
+        free (lnew);
         return -FSAERR_ENOMEM;
     }
     snprintf(lnew->value, vallen+1, "%s", value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/thread_archio.c 
new/fsarchiver-0.6.23/src/thread_archio.c
--- old/fsarchiver-0.6.22/src/thread_archio.c   2016-01-07 20:09:39.000000000 
+0100
+++ new/fsarchiver-0.6.23/src/thread_archio.c   2016-06-14 20:56:06.000000000 
+0200
@@ -209,7 +209,7 @@
                     fflush(stderr);
                     msgprintf(MSG_FORCE, "File [%s] is not found, please type 
the path to volume %ld:\n", ai->volpath, (long)ai->curvol);
                     fprintf(stdout, "New path:> ");
-                    res=scanf("%s", ai->volpath);
+                    res=scanf("%256s", ai->volpath);
                 }
                 
                 msgprintf(MSG_VERB2, "New volume is [%s]\n", ai->volpath);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fsarchiver-0.6.22/src/thread_comp.c 
new/fsarchiver-0.6.23/src/thread_comp.c
--- old/fsarchiver-0.6.22/src/thread_comp.c     2016-01-07 20:09:39.000000000 
+0100
+++ new/fsarchiver-0.6.23/src/thread_comp.c     2016-06-14 20:56:06.000000000 
+0200
@@ -168,6 +168,7 @@
         if ((blkinfo->blkcryptalgo!=ENCRYPT_NONE) && 
(g_options.encryptalgo!=ENCRYPT_BLOWFISH))
         {   msgprintf(MSG_DEBUG1, "this archive has been encrypted, you have 
to provide a password "
                 "on the command line using option '-c'\n");
+            free (bufcomp);
             return -1;
         }
         
@@ -177,16 +178,19 @@
         {
             if ((bufcrypt=malloc(blkinfo->blkrealsize+8))==NULL)
             {   errprintf("malloc(%ld) failed: out of memory\n", 
(long)blkinfo->blkrealsize+8);
+                free(bufcomp);
                 return -1;
             }
             if ((res=crypto_blowfish(blkinfo->blkarsize, &clearsize, 
(u8*)blkinfo->blkdata, (u8*)bufcrypt, 
                 g_options.encryptpass, strlen((char*)g_options.encryptpass), 
0))!=0)
             {   errprintf("crypt_block_blowfish() failed\n");
+                free(bufcomp);
                 return -1;
             }
             if (clearsize!=blkinfo->blkcompsize)
             {   errprintf("clearsize does not match blkcompsize: clearsize=%ld 
and blkcompsize=%ld\n", 
                     (long)clearsize, (long)blkinfo->blkcompsize);
+                free(bufcomp);
                 return -1;
             }
             free(blkinfo->blkdata);
@@ -242,7 +246,6 @@
         free(blkinfo->blkdata); // free old buffer (with compressed data)
         blkinfo->blkdata=bufcomp; // pointer to new buffer with uncompressed 
data
     }
-    
     return 0;
 }
 

++++++ fsarchiver-attr.patch ++++++
--- /var/tmp/diff_new_pack.4hOIOW/_old  2016-07-14 09:50:13.000000000 +0200
+++ /var/tmp/diff_new_pack.4hOIOW/_new  2016-07-14 09:50:13.000000000 +0200
@@ -1,5 +1,7 @@
---- fsarchiver-0.6.19.orig/src/oper_restore.c
-+++ fsarchiver-0.6.19/src/oper_restore.c
+Index: fsarchiver-0.6.23/src/oper_restore.c
+===================================================================
+--- fsarchiver-0.6.23.orig/src/oper_restore.c
++++ fsarchiver-0.6.23/src/oper_restore.c
 @@ -19,12 +19,13 @@
  #  include "config.h"
  #endif
@@ -15,10 +17,12 @@
  #include <sys/time.h>
  #include <sys/stat.h>
  #include <gcrypt.h>
---- fsarchiver-0.6.19.orig/src/oper_save.c
-+++ fsarchiver-0.6.19/src/oper_save.c
-@@ -28,7 +28,8 @@
- #include <sys/mount.h>
+Index: fsarchiver-0.6.23/src/oper_save.c
+===================================================================
+--- fsarchiver-0.6.23.orig/src/oper_save.c
++++ fsarchiver-0.6.23/src/oper_save.c
+@@ -29,7 +29,8 @@
+ #include <sys/param.h>
  #include <sys/statvfs.h>
  #include <sys/stat.h>
 -#include <attr/xattr.h>
@@ -27,19 +31,21 @@
  #include <zlib.h>
  #include <assert.h>
  #include <gcrypt.h>
-@@ -57,6 +58,10 @@
+@@ -59,6 +60,10 @@
  #include "error.h"
  #include "queue.h"
  
-+#ifndef ENOATTR 
++#ifndef ENOATTR
 +#define ENOATTR ENODATA
 +#endif
 +
  typedef struct s_savear
  {   carchwriter ai;
      cregmulti   regmulti;
---- fsarchiver-0.6.19.orig/configure.ac
-+++ fsarchiver-0.6.19/configure.ac
+Index: fsarchiver-0.6.23/configure.ac
+===================================================================
+--- fsarchiver-0.6.23.orig/configure.ac
++++ fsarchiver-0.6.23/configure.ac
 @@ -88,7 +88,7 @@ PKG_CHECK_MODULES([BLKID], [blkid])
  PKG_CHECK_MODULES([UUID], [uuid])
  


Reply via email to