[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#696297: marked as done (qt4-x11: Sets FD_CLOEXEC incorrectly with F_SETFL instead of F_SETFD)



Your message dated Wed, 19 Dec 2012 21:52:32 +0100
with message-id <201212192152.37315.pino@debian.org>
and subject line Re: Bug#696297: qt4-x11: Sets FD_CLOEXEC incorrectly with F_SETFL instead of F_SETFD
has caused the Debian Bug report #696297,
regarding qt4-x11: Sets FD_CLOEXEC incorrectly with F_SETFL instead of F_SETFD
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
696297: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696297
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Source: qt4-x11
Version: 4:4.8.2+dfsg-6
Severity: important
Tags: patch
User: debian-bsd@lists.debian.org
Usertags: fcntl-fd-cloexec

Hi!

This package contains code that tries to set the FD_CLOEXEC flag for a
file descriptor, but it does using F_SETFL instead of F_SETFD.

Using that value on F_SETFL is just wrong, and might make the call fail
on some systems, as it's requesting to set an undetermined flag. For
example on GNU/* FD_CLOEXEC has value 1, which matches with O_WRONLY.

This might cause the code to at least leak file descriptors, and at
worst to terminate execution.

Attached a patch fixing this. (I'm filing bug reports for webkit and
the other webkit embedding packages too.)

Thanks,
Guillem
From b3252abcc5a9a7be2bd2315a077b4977e9ec3b83 Mon Sep 17 00:00:00 2001
From: Guillem Jover <guillem@hadrons.org>
Date: Wed, 19 Dec 2012 00:37:19 +0100
Subject: [PATCH] qt4-x11: Set FD_CLOEXEC correctly using F_SETFD not F_SETFL

Using that value on F_SETFL is just wrong, and might make the call fail
on some systems, as it's requesting to set an undetermined flag. For
example on GNU/* FD_CLOEXEC has value 1, which matches with O_WRONLY.

This might cause the code to at least leak file descriptors, and at worst
to terminate execution.
---
 .../webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/3rdparty/webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp b/src/3rdparty/webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
index 92ffff3..588a3a6 100644
--- a/src/3rdparty/webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
+++ b/src/3rdparty/webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
@@ -217,7 +217,7 @@ void Connection::readyReadHandler()
                 attachmentCount--;
 
             for (int i = 0; i < attachmentCount; ++i) {
-                while (fcntl(fileDescriptors[i], F_SETFL, FD_CLOEXEC) == -1) {
+                while (fcntl(fileDescriptors[i], F_SETFD, FD_CLOEXEC) == -1) {
                     if (errno != EINTR) {
                         ASSERT_NOT_REACHED();
                         return;
-- 
1.8.1.rc0


--- End Message ---
--- Begin Message ---
Hi Guillem,

Alle mercoledì 19 dicembre 2012, Guillem Jover ha scritto:
> This package contains code that tries to set the FD_CLOEXEC flag for
> a file descriptor, but it does using F_SETFL instead of F_SETFD.
>
> [...]
> src/3rdparty/webkit/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp

We do not build qtwebkit as provided in qt4-x11 (but as standalone,
src:qtwebkit), so the code of the webkit copy is never supposed to be
used. Hence, closing.

Thanks,
-- 
Pino Toscano

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---

Reply to: