[ 
https://issues.apache.org/jira/browse/THRIFT-3564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15104935#comment-15104935
 ] 

ASF GitHub Bot commented on THRIFT-3564:
----------------------------------------

GitHub user szenker opened a pull request:

    https://github.com/apache/thrift/pull/802

    THRIFT-3564: potential core dump in TQTcpServer

    TQTcpServer: it's not allowed to delete the sender of a Qt signal 
(QTcpSocket) while executing one of its slots. This could happen in 
TQTcpServer::beginDecode() in case an exception occurred. Ensured, that 
deletion is deferred in all cases.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/szenker/thrift THRIFT-3564

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/802.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #802
    
----
commit 59de41dbb82da1ad5a426cb9a1fac55360e33229
Author: Sebastian Zenker <sebastian.zen...@gmx.de>
Date:   2016-01-18T07:45:52Z

    C++/Qt: TQTcpServer: it's not allowed to delete the sender of a Qt signal 
(QTcpSocket) while executing one of its slots. This could happen in 
TQTcpServer::beginDecode() in case an exception occurred. Ensured, that 
deletion is deferred in all cases.

----


> C++/Qt: potential core dump in TQTcpServer in case an exception occurs in 
> TAsyncProcessor::process()
> ----------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3564
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3564
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.3, 0.9.4, 1.0
>            Reporter: Sebastian Zenker
>            Priority: Minor
>              Labels: easyfix
>
> It's undefined behaviour, if a Qt object (sender) get's deleted while 
> executing on of it's slots. This can happen in case an exception occurs in 
> TQTcpServer::beginDecode() as the call to ctxMap_.erase() will delete the 
> sender of the Qt signal.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to