[QFJ-903] Infinite Loop on Malformed Message - Bad BodyLength (tag 9) Created: 13/Sep/16  Updated: 13/Dec/16  Resolved: 08/Oct/16

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.6.2
Fix Version/s: 1.6.3

Type: Bug Priority: Critical
Reporter: Adam MacDonald Assignee: Christoph John
Resolution: Fixed Votes: 0
Labels: None

Attachments: Java Source File Test.java    

 Description   

If two messages are received in a row with a malformed tag 9 - the fix engine enters an infinite loop of logging and eventually causes the JVM to crash with an OutOfMemory exception.

Sent the following message twice

8=FIX.4.4|9=A|35=D|49=ST|56=TS|34=3|52=20160830-14:21:45.472|11=Order32|1=Template1|21=1|55=VOD.L|48=VOD.L|22=5|167=CS|207=LSE|54=1|60=20160830-14:21:45.472|38=100|40=2|44=95|15=GBp|59=0|58=Staging|10=206|

Enter infinite loop in

quickfix.mina.message.FIXMessageDecoder#parseMessage

logging

quickfix.mina.message.FIXMessageDecoder - handleError - Length format error in message (last character:65)


 Comments   
Comment by Christoph John [ 15/Sep/16 ]

Thanks for the issue report and especially the test. We already have tests which cover the scenario like tag "9=123a" but not your scenario.

Generated at Wed May 01 01:03:10 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.