[
https://issues.apache.org/jira/browse/PROTON-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14017127#comment-14017127
]
ASF subversion and git services commented on PROTON-590:
--------------------------------------------------------
Commit 1599793 from [~astitcher] in branch 'proton/trunk'
[ https://svn.apache.org/r1599793 ]
PROTON-591, PROTON-590: Change frame dispatch to use switch statement
- Rather than an explicit function table
- This reduces the per connection memory use significantly
- Fixes a possible crash if Proton receives an unknown performative
> If Proton receives a frame with an unexpected performative number it will SEGV
> ------------------------------------------------------------------------------
>
> Key: PROTON-590
> URL: https://issues.apache.org/jira/browse/PROTON-590
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: 0.7
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
>
> The processing for incoming frames dispatches based in the integer number of
> the performative. To do this it uses a table which is initially zero filled.
> On initialising a connection it fills out the table entries for performatives
> that it can handle, but leaves the others zero.
> On an incoming frame it will call the routine in the table entry without
> checking if it is zero. So if it gets an unrecognised performative integer it
> will call through a zero pointer causing a SEGV.
--
This message was sent by Atlassian JIRA
(v6.2#6252)