You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <ji...@apache.org> on 2014/11/26 11:16:12 UTC

[jira] [Updated] (QPID-6189) [Java Common] 0-8/9/9-1 parser can cause stack overflow if a frame is broken into many TCP reads/writes

     [ https://issues.apache.org/jira/browse/QPID-6189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey updated QPID-6189:
------------------------------
    Status: Reviewable  (was: In Progress)

> [Java Common] 0-8/9/9-1 parser can cause stack overflow if a frame is broken into many TCP reads/writes
> -------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6189
>                 URL: https://issues.apache.org/jira/browse/QPID-6189
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Common
>            Reporter: Rob Godfrey
>            Assignee: Rob Godfrey
>             Fix For: 0.31
>
>
> When an entire frame is split over many TCP reads/writes the 0-8/9/9-1 codec is effectively using tail recursion to iterate over the buffers to parse the whole frame.  When there are a lot of buffers this can cause stack overflow.  To guard against this we can simply squash the multiple buffers into a single buffer when we cross a threshold number of buffers.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org