copy-file, rpmatch: fix problems found by cppcheck
authorPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Mar 2013 16:30:58 +0000 (09:30 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 19 Mar 2013 16:32:08 +0000 (09:32 -0700)
Reported by Arno Onken in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
* lib/rpmatch.c (try): Fix memory leak.
* lib/copy-file.c: Include "ignore-value.h".
(qcopy_file_preserving): Ignore chown value.
* modules/copy-file (Depends-on): Add ignore-value.

ChangeLog
lib/copy-file.c
lib/rpmatch.c
modules/copy-file

index 98d74d3..cfa4751 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       copy-file, rpmatch: fix problems found by cppcheck
+       Reported by Arno Onken in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
+       * lib/rpmatch.c (try): Fix memory leak.
+       * lib/copy-file.c: Include "ignore-value.h".
+       (qcopy_file_preserving): Ignore chown value.
+       * modules/copy-file (Depends-on): Add ignore-value.
+
 2013-01-27  Jim Meyering  <jim@meyering.net>
 
        prefix-gnulib-mk: give better diagnostics
index 0d4dcd6..5660522 100644 (file)
@@ -37,6 +37,7 @@
 #endif
 
 #include "error.h"
+#include "ignore-value.h"
 #include "safe-read.h"
 #include "full-write.h"
 #include "acl.h"
@@ -140,7 +141,7 @@ qcopy_file_preserving (const char *src_filename, const char *dest_filename)
 
 #if HAVE_CHOWN
   /* Preserve the owner and group.  */
-  chown (dest_filename, statbuf.st_uid, statbuf.st_gid);
+  ignore_value (chown (dest_filename, statbuf.st_uid, statbuf.st_gid));
 #endif
 
   /* Preserve the access permissions.  */
index cf12523..ccb45f3 100644 (file)
@@ -110,7 +110,10 @@ try (const char *response, const char *pattern, char **lastp, regex_t *re)
         return -1;
       /* Compile the pattern and cache it for future runs.  */
       if (regcomp (re, safe_pattern, REG_EXTENDED) != 0)
-        return -1;
+        {
+          free (safe_pattern);
+          return -1;
+        }
       *lastp = safe_pattern;
     }
 
index 1c50d55..2673ff0 100644 (file)
@@ -13,6 +13,7 @@ error
 fstat
 full-write
 gettext-h
+ignore-value
 open
 quote
 safe-read