Hello community,

here is the log from the commit of package file for openSUSE:Factory checked in 
at 2011-11-07 14:14:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/file (Old)
 and      /work/SRC/openSUSE:Factory/.file.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "file", Maintainer is "wer...@suse.com"

Changes:
--------
--- /work/SRC/openSUSE:Factory/file/file.changes        2011-10-03 
09:17:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.file.new/file.changes   2011-11-07 
14:14:52.000000000 +0100
@@ -1,0 +2,7 @@
+Sat Nov  5 18:37:25 UTC 2011 - crrodrig...@opensuse.org
+
+- libmagic: use O_CLOEXEC where needed, as there is no warranty 
+  that calling applications will not fork() and we end up leaking 
+  file descriptors to their child processes.
+
+-------------------------------------------------------------------

New:
----
  file-ocloexec.patch

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

Other differences:
------------------
++++++ file.spec ++++++
--- /var/tmp/diff_new_pack.kBw5zj/_old  2011-11-07 14:14:53.000000000 +0100
+++ /var/tmp/diff_new_pack.kBw5zj/_new  2011-11-07 14:14:53.000000000 +0100
@@ -58,6 +58,7 @@
 Patch30:        file-5.07-visibility.patch
 Patch31:        file-5.07-biorad.dif
 Patch32:        file-5.07-clicfs.dif
+Patch33:        file-ocloexec.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %global         _sysconfdir /etc
 %global         _miscdir    %{_datadir}/misc
@@ -107,6 +108,7 @@
 %patch31 -p0 -b .biorad
 %patch32 -p0 -b .clicfs
 %patch -b .0
+%patch33
 
 %build
 export LANG=POSIX
@@ -115,7 +117,7 @@
 rm -f ltcf-c.sh ltconfig ltmain.sh
 autoreconf -fiv
 CFLAGS="$RPM_OPT_FLAGS -DHOWMANY=69632"
-%configure --datadir=%{_miscdir} --disable-static --with-pic 
--enable-fsect-man5
+%configure --disable-silent-rules --datadir=%{_miscdir} --disable-static 
--with-pic --enable-fsect-man5
 %{__make} %{?_smp_mflags} pkgdatadir='$(datadir)'
 %if 0%{?build_python_bindings:1}
 pushd python

++++++ file-ocloexec.patch ++++++
--- src/compress.c.orig
+++ src/compress.c
@@ -256,7 +256,7 @@ file_pipe2file(struct magic_set *ms, int
                errno = r;
        }
 #else
-       tfd = mkstemp(buf);
+       tfd = mkostemp(buf, O_CLOEXEC);
        te = errno;
        (void)unlink(buf);
        errno = te;
--- src/apprentice.c.orig
+++ src/apprentice.c
@@ -676,7 +676,7 @@ load_1(struct magic_set *ms, int action,
        char *line = NULL;
        ssize_t len;
 
-       FILE *f = fopen(ms->file = fn, "r");
+       FILE *f = fopen(ms->file = fn, "re");
        if (f == NULL) {
                if (errno != ENOENT)
                        file_error(ms, errno, "cannot read magic file `%s'",
@@ -2226,7 +2226,7 @@ apprentice_map(struct magic_set *ms, str
        if (dbname == NULL)
                goto error2;
 
-       if ((fd = open(dbname, O_RDONLY|O_BINARY)) == -1)
+       if ((fd = open(dbname, O_RDONLY|O_BINARY|O_CLOEXEC)) == -1)
                goto error2;
 
        if (fstat(fd, &st) == -1) {
@@ -2324,7 +2324,7 @@ apprentice_compile(struct magic_set *ms,
        if (dbname == NULL) 
                goto out;
 
-       if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644)) == -1) 
{
+       if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY|O_CLOEXEC, 
0644)) == -1) {
                file_error(ms, errno, "cannot open `%s'", dbname);
                goto out;
        }
--- src/magic.c.orig
+++ src/magic.c
@@ -411,7 +411,7 @@ file_or_fd(struct magic_set *ms, const c
                if (fstat(fd, &sb) == 0 && S_ISFIFO(sb.st_mode))
                        ispipe = 1;
        } else {
-               int flags = O_RDONLY|O_BINARY;
+               int flags = O_RDONLY|O_BINARY|O_CLOEXEC;
 
                if (stat(inname, &sb) == 0 && S_ISFIFO(sb.st_mode)) {
 #ifdef O_NONBLOCK
--- src/file.c.orig
+++ src/file.c
@@ -385,7 +385,7 @@ unwrap(struct magic_set *ms, const char
                f = stdin;
                wid = 1;
        } else {
-               if ((f = fopen(fn, "r")) == NULL) {
+               if ((f = fopen(fn, "re")) == NULL) {
                        (void)fprintf(stderr, "%s: Cannot open `%s' (%s).\n",
                            progname, fn, strerror(errno));
                        return 1;
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to