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

ASF subversion and git services commented on PROTON-1978:
---------------------------------------------------------

Commit 6a5140b4efc2b6c8f92ad2ca8f7ea551b37bcd1c in qpid-proton's branch 
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=6a5140b ]

PROTON-1978: [c] Make disposition performative handling more efficient
- Minimise the effort to update deliveries affected by the disposition
  performative:
  If there are fewer deliveries outstanding than delivery ids in the
  performative then loop through them all to update them.
  Otherwise, loop through the specified delivery ids.
- We have to go through this effort as we don't keep the outstanding
  deliveries sorted by id. Instead they are in a hash table and in a
  separate linked list.

Problem found by oss-fuzz: https://oss-fuzz.com/testcase?key=5118747114209280


> Disposition frames can take a *very* long time to complete
> ----------------------------------------------------------
>
>                 Key: PROTON-1978
>                 URL: https://issues.apache.org/jira/browse/PROTON-1978
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>            Reporter: Andrew Stitcher
>            Assignee: Andrew Stitcher
>            Priority: Major
>
> This bug was found by the oss-fuzz project: 
> [https://oss-fuzz.com/testcase?key=5118747114209280|http://example.com/]
> If the last delivery value affected is legitimate (before the next sequence 
> number to be assigned), but the first value is hugely before it then the 
> disposition frame handling will loop through every affected delivery number 
> from first to last which can take a very long time and effectively hang the 
> process.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to