Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
perl qpid client receiving AMQP 1.0 map/list message causes what(): illegal-argument: Not enough data for list, expected 3506438144 bytes but only 254 available (/builddir/build/BUILD/qpid-0.22/cpp/src/qpid/framing/List.cpp:59)
This defect is similar to bug 1021974. In c++ Vienna client is recommended to use msg.getContenObject() instead of decode(). Current perl client still uses decode() (Message.pm) which causes problems.
I propose to fix Message.pm to use getContentObject()/setContentObject() instead of encode()/decode() in msg->get_content()/set_content().
Perl's Message implementation do not have getContentObject()/setContentObject() methods which differentiate from c++ and I also propose to review whether to add those as aliases to get_content/set_content().